sqli-labs 靶场知识总结

sqli-labs 靶场知识总结

由于我的电脑最近用新系统的时候,还不适应,所以有些通过笔记不见了,/(ㄒoㄒ)/~~

我直接写总结吧(有些从注入天书摘抄的,(__) 嘻嘻……)

基于从服务器接收到的响应

▲基于错误的 SQL 注入

▲联合查询的类型

▲堆查询注射

▲SQL 盲注

•基于布尔 SQL 盲注

•基于时间的 SQL 盲注

•基于报错的 SQL 盲注

基于如何处理输入的 SQL 查询(数据类型)

•基于字符串

•数字或整数为基础的

基于程度和顺序的注入(哪里发生了影响)

★一阶注射

★二阶注射

一阶注射是指输入的注射语句对 WEB 直接产生了影响,出现了结果;二阶注入类似存

储型 XSS,是指输入提交的语句,无法直接对 WEB 应用程序产生影响,通过其它的辅助间

接的对 WEB 产生危害,这样的就被称为是二阶注入. 基于注入点的位置上的

▲通过用户输入的表单域的注射。

▲通过 cookie 注射。

▲通过服务器变量注射。 (基于头部信息的注射)

sql注入就主要上面这些类型

以下是总结以前关卡的主要使用函数、遇到的函数

系统函数介绍几个常用函数:

  1. version()——MySQL 版
  2. user()——数据库用户名
  3. database()——数据库名
  4. @@datadir——数据库路径
  5. @@version_ compile_os——操作系统版本(
  6. 3)字符串连接函数函数具体介绍 http://www.cnblogs.com/lcamry/p/5715634.html1. (大佬的博客)
  7. concat(str1,str2,…)——没有分隔符地连接字符串
  8. concat_ ws(separator,str1,str2,…)——含有分隔符地连接字符串
  9. group_concat(str1,str2,…)——连接一个组的所有字符串,并以逗号分隔每一条数说着比较抽象,其实也并不需要详细了解,知道这三个函数能一次性查出所有信息
  10. ▲extractvalue(1,concat(0x7e,(select @@version),0x7e)) se//mysql 对 xml 数据进行查询和修改的 xpath 函数,xpath 语法错误
  11. ▲updatexml(1,concat(0x7e,(select @@version),0x7e),1) //mysql 对 xml 数据进行查询和修改的 xpath 函数,xpath 语法

★addslashes()

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

 单引号(’)

 双引号(")

 反斜杠(\)

 NULL

提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

注释:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您

不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可

以使用函数 get_magic_quotes_gpc() 进行检测。

语法:addslashes(string)

参数 描述

string 必需。规定要转义的字符串。

返回值: 返回已转义的字符串。

PHP 版本: 4+

★stripslashes()

函数删除由 addslashes() 函数添加的反斜杠。

★mysql_real_escape_string()

函数转义 SQL 语句中使用的字符串中的特殊字符。

下列字符受影响:

 \x00

 \n

 \r  \  ’  "  \x1a

如果成功,则该函数返回被转义的字符串。如果失败,则返回 false。

语法:mysql_real_escape_string(string,connection)

参数 描述

string 必需。规定要转义的字符串。

connection 可选。规定 MySQL 连接。如果未规定,则使用上一个连接。

说明:本函数将 string 中的特殊字符转义,并考虑到连接的当前字符集,因此可以安全用

于 mysql_query()。

PS:这是我现在想到的,以后有新的知识点,再添加(再次感谢lcamry大佬)

你可能感兴趣的:(sqli-labs)