打开题目一看,问我Can you anthenticate to this website?php
咱们先掏出来御剑扫它一下,web
打开一看,发现源码泄露,咱们打开网页f12查看源码this
这里让咱们get方式传入一个id值须要绕过,先看第一个"admin"===$_get[id] 须要为假,那咱们将'a' urldecode一次就不等于了绕过了它编码
接着咱们看到下面将咱们传入的参数再一次urldecode一次,还要求编码事后等于admin,因而咱们url
构造payload: ?id=%2561dmincode
提交url时,它会自动urldecode一回,%25就成为了%,而后进入二次绕过期,%61就转成了a,此时咱们就拿到了咱们想要的a了blog
第一次它会将非ascii码,进行一次urldecode一回ci
进行第一次比较:get
if("admin"==="%61dmin")
代码中会对它再进行一次urldecode源码
urldecode("%61dmin") //admin
而后就绕过了二次编码,得到了咱们的flag