本篇内容需要用到Burp Suite。Burp Suite的用法在文中不会写的很详细,有问题可以留言。
思路
这道题需要我们找到webgoat-prd的ip地址。并且题目里提示得很清楚,在submit里是难以使用SQL注入的,我们需要在order by上下功夫。
那么我们首先就要知道,在什么情况下才能执行一条带 order by语句的命令呢?可以看到题目给出的表头里是有上下两个小箭头的,我们点击小箭头,可以对数据进行排序。
点击ip的下箭头时,服务器进行排序所执行的语句应该是
select 列名 from 表名 where ... order by ip ...
先用Burp抓个包
可以看到上面图中有一个参数 column=ip, 而我们恰好是根据ip来排的,那么column后面的参数很可能就是接在order by 语句后面的内容。
也就是说,我们只要更改包中column的值,就能对order by语句后面的内容进行更改。
在前一个页面在教程里,我们知道order by语句后面是可以接形如这样的语句:
select * from users order by (case when (true) then lastname else first