时间盲注 墨者学院SQL注入(手动注入+sqlmap+对于注入语句中的那个 ’( 二 )


查询语句: * from user where User = ‘root’;
如下图7:
图7 这是mysql查询的标准语句了 。
接下来是我们判断注入点时候的 。画风正常的其实都可以理解,
?type=1 and sleep(3)%23。这样相当于是个数字的注入,查询语句中没有用 ’ 或者 "。
看看奇奇怪怪的:
:40659/flag.php?type=1%20and%(3)%27
将他带入查询语句中大概是这样:
* from user where User = ‘root’ and sleep(3)’;
我们执行之后,结果如图8:
图8 他提示我补全这个 ’ ,补全之后会爆错 。
而且其实仔细看会发现,我前面的手动注入的都没有加分号;,也是mysql语句的结束符号然后我就给直接注释掉了后边 。
也就是说当代码中单独出现结束符;的时候,必要要出现注释符,
没有;的时候,也可以出现注释符,
';# ";# ;# # ’ " 都是可以的成功执行sleep(3)的(#记得变%23) 。
但是按照上面的推断 ?type=1 and sleep(3) 应该也是可以的,但是经过测试网页并不会延时响应 。。。
所以在靶场的源码里是不是有一个类似于if的语句,检测我们输入的代码中有没有 分号 ; ,如果没有自动补全 。检测我们的代码中有没有 ’ " ,如果有删除?因为如果mysql语句报错是不会执行sleep()函数的,所以我们可以推断源码中删除了我们输入中会报错的 ’ " ,而在我们没有输入 ;时,他自动帮我们补全了 ;,但是我们要是没有输入这些特定的符号时,他不会执行查询语句或者添加了一些符号让数据库报错?从无法执行语句?(逻辑应该没有出现什么问题,其实给我弄得也有点懵 。。。)
【时间盲注墨者学院SQL注入(手动注入+sqlmap+对于注入语句中的那个 ’】欢迎各位大佬指正文中的不足与错误,或者提出不同的见解,本人菜鸟,还有很多不足,多多见谅!!!!