第二十七天:WEB攻防-通用漏洞&SQL注入&Tamper脚本&Base64&Json&md5等

SQL注入课程体系:

1.数据库注入 - access mysql mssql oracle mongodb postgresql等

2.数据类型注入 - 数字型 字符型 搜索型 加密型(base64 json)等

3.提交方式注入 - get post cookie http头等
4.查询方式注入 - 查询 增加 删除 更新 堆叠等

当对网站进行渗透的时候,会遇到很多不同类型的参数提交方式,参数格式,参数表现形式,都是可能存在注入点的。

如 普通的数字型 ?id=1 与 ?id=MQ== 只是经过一次简单的base64加密在传递参数,并不是就不会存在注入点了,需要我们对注入的思维拓宽,才能找到更多的sql注入。

[ ] 数字型,就是经常遇到的 ?id=1 这种类型。一般开发人员也不会对数字型进行闭合,可以直接后跟注入语句即可 ?id=1 and 1=2 union select database()–+

正常sql语句 s q l = " s e l e c t ∗ f r o m s y g u e s t b o o k w h e r e g T p l = ′ sql="select * from sy_guestbook where gTpl=' sql="selectfromsyguestbookwheregTpl=g’";
注入语句:simple’ order by 16–+
当代入其中:$sql=“select * from sy_guestbook where gTpl=‘simple’ order by 16–+'”;正好将后面的一个单引号注释掉,也就是–+的作用是将后面的一个单引号注释掉

搜索型:,往往有搜索框的地方也是可能存在注入的,因为很多内容都是存储在数据库中,想要完成搜索,就需要与数据库进行数据交互,如果没有做到安全的过滤或其他的防护手段往往也是会存在SQL注入的。常规的搜索处后台SQL语句是 select value from test where value like “%$_GET[‘value’]%” ,这个时候我们想要对其进行注入,就需要考虑到闭合双引号及通配符的问题了。

select from sy_guestbook where gName like ‘%$s%’
演示%'UNION+ALL+SELECT+1,datab,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 and ‘%’=
select
from sy guestbook where gName like ‘%演示%’ UNION+ALL+SELECT+1,database0).3,4.5,6,7,8,9,10,11,12,13,14,15,16,17 and ‘%’=’

加密/编码型,有时候会遇到 id=MQ这种传输id值时,值为加密的base64或是其他,我们想要对其进行测试时,就需要将我们构造的payload进行base64加密后在进行测试【注意:在加密的过程中必须要做到统一,不能MQ and 1=2这种强行转换,而是将MQ== 解码后再和and 1=2一起转换】

Json格式,有时候会有 {“id”:1}这种格式的参数传递时,我们注入就需要考虑到json的特殊格式。在进行构造payload

SQLmap的进阶利用

sqlmap 的tamper利用

当我们测试的注入点是 base64加密,或者是对我们输入的 ’ ’ “” /等内容进行转义时

只需要我们在使用sqlmap时,加上对应的参数,启用相对的脚本绕过即可

如遇到base64加密的参数值想要对其进行注入时

python sqlmap.py -r 1.txt --tamper=base64encode.py 即可 sqlmap会自动对payload进行加密

如遇到对我们输入的 ’ ’ “” /转义时,手注时常用到的绕过放法就是使用 宽字节的方法进行绕过

如手注入的payload应该为 ?id=1 %23’ union select database() --+ 这样才可以正常的让单引号发挥作用去闭合原本的sql语句中的单引号

我们在使用sqlmap注入时,只需要

python sqlmap.py -r 1.txt --tamper=unmagicquotes.py 启用这个脚本即可,就可以让sqlmap智能得在payload中加入宽字节等方法绕过转义函数。

启用对接受到的字符串进行转义的方法可以使用mysql的内置功能 magicquotes 或php的内置函数addslashes(),但是使用tamper=unmagicquotes.py这个脚本时都是可以成功pass的。

更多sqlmap的详细用法参考:1. sqlmap超详细笔记+思维导图 - bmjoker - 博客园 (cnblogs.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值