打開題目一看,問我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