渣渣一枚,把学习sql注入过程中遇到的一些问题记录下来,以供日后参考。
按照网上教程注入时发现过滤了union = < > ,顿时就一脸懵逼,因为不会构造sql语句,更不会绕过,最后在师父的指导下,首先通过手工注入,注入出了数据库名及长度。
1.数据库名长度:
http://XXX.XXX.XX/sql.php? id=345’ and length(database()) like 1 and ‘1’ like ‘1,构造语句为and length(database()) like 1 and ‘1’ like ‘1,手工注入时只要改like 后面的1就行了。
2.数据库名:
再注入数据库名,构造语句为http://XXX.XXX.XX/sql.php ? id=345’ and (ascii(substr(database(),1,1))) like 115 and ‘1’ like ‘1 ,修改like后面的ascii字符值,及database()后的1,逐个注入出数据库名。
3.用python实现:
在网上搜了代码,试了好久不行,最后发现是python判断条件不一样,原文中是通过返回字符串长度来判断是否注入成功的,而我的题目是通过判断返回页面上有无‘test’来判断是否注入成功,于是转换思路,利用正则表达式,爬虫读取并匹配页面是否有test,若有则
sql 布尔盲注 python脚本实现
最新推荐文章于 2024-05-23 16:17:43 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)