上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.5 攻防不单一
一次完整的渗透会利用到多种攻击手法。比如,某开源Web应用的管理员后台有SQL注入,通过前期的踩点,我们发现这个SQL注入具有操作系统写权限,而且知道了该开源Web 应用的物理路径。如果不是管理员后台,直接用一条 SQL 语句就可以得到一个 Web后门,好像很可惜了,因为必须具备管理员权限。其实不然,在这个场景中,完全不用悲观,借用CSRF很可能就能成功,大致过程如下:
(1)提交这条包含恶意SQL语句的后台链接(事先做好URL的各种编码转换,以达到隐蔽效果)给管理员,比如留言、评论、申请友情链接等。
(2)管理员登录Web应用被诱骗打开了这条链接。
(3)发生CSRF(跨站请求伪造)了,此时就会以管理员权限进行后续的指令执行。
这个过程通过CSRF借用了管理员权限,然后执行SQL注入,很巧妙地“借刀杀人”。
注:
CSRF 是跨站请求伪造,具体内容在第 4 章详细介绍。其实上面这个小场景已经暗示:CSRF会借用目标用户的权限做一些借刀杀人的事(注意是“借用”,而不是“盗取”目标权限),然后去做坏事,“盗取”通常是XSS(跨站脚本攻击)最喜欢做的事。
在Web渗透过程中,这些攻击手法经常互补,合理地组合各种攻击手法,可以更容易攻下目标。攻与防都得考虑这些组合情况,把安全点考虑得面面俱到的确不容易,但绝对是好事。写本节的目的也是想让我们跳出思维局限,攻和防不要从单一角度考虑。