加解密:
最常见的就是base64编码,url编码等等,这些都得熟悉。
比如:cookie处加解密,需要自己去还原并相应地加密payload;
二次注入:
在黑盒测试以及工具中几乎发现不了,拿到源码后代码审计的话才可以发现,因为根本不知到第一次插入什么数据才可以导致二次调用时成功注入。
可以在Less-24实战:
修改密码页面sql源码:
UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass';
导致后果:第二个带“ '# ”的用户名在修改密码时可以将原有的用户名密码修改掉,比如修改admin密码,甚至可以在用户名插入报错注入语句,但大部分情况下用户名都有前后端限制过滤。
DNSlog注入:
- 有诸多限制的,比如权限不足;后门传上去无法连接等等。
- DNSlog可以解决无回显问题。
一个网站一个工具,该工具利用此漏洞来爆破库、表、列、字段:
- http://www.ceye.io/
- https://github.com/ADOOO/DnslogSqlinj
中转注入(php实现):
其实更应该说是一种思路,原理就是将目标地址在本地用php代码包含进去(平常多用python,原理一样),然后本地写代码来拼接注入点,再本地利用sqlmap访问本地文件来间接访问目标网站实现中转注入。即使不拼接payload也可以在包含进本地代码中访问本地文件来间接访问目标站点,效果相同!没有sqlmap插件时的一种思路。
访问本地的实现间接访问网站,做ctf题时,经常可以见到web题的exp这么写,基本都是用python来写。
堆叠注入:
就是一堆sql语句一起执行,语句中一个 ; 表示语句结束,那多个语句连接到一起执行。
实战见sqli-labs-less38.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)