Bugku-WEB-never give up(重定向)
阿新 • • 發佈:2018-11-27
題目:
開啟控制檯可以看到一處提示。嘗試開啟這個頁面
被跳轉到了社群論壇,應該是有window.location.href 之類的重定向
http://www.cnblogs.com/Qian123/p/5345298.html#_label2 #關於網頁重定向
為了防止被重定向到其他網頁,需要在url前面加一條view-source:
得到這個頁面,var Words中,使用url編碼加密了,解碼試試看
<script>window.location.href='http://www.bugku.com';</script> <!--JTIyJTNCaWYlMjglMjElMjRfR0VUJTVCJTI3aWQlMjclNUQlMjklMEElN0IlMEElMDloZWFkZXIlMjglMjdMb2NhdGlvbiUzQSUyMGhlbGxvLnBocCUzRmlkJTNEMSUyNyUyOSUzQiUwQSUwOWV4aXQlMjglMjklM0IlMEElN0QlMEElMjRpZCUzRCUyNF9HRVQlNUIlMjdpZCUyNyU1RCUzQiUwQSUyNGElM0QlMjRfR0VUJTVCJTI3YSUyNyU1RCUzQiUwQSUyNGIlM0QlMjRfR0VUJTVCJTI3YiUyNyU1RCUzQiUwQWlmJTI4c3RyaXBvcyUyOCUyNGElMkMlMjcuJTI3JTI5JTI5JTBBJTdCJTBBJTA5ZWNobyUyMCUyN25vJTIwbm8lMjBubyUyMG5vJTIwbm8lMjBubyUyMG5vJTI3JTNCJTBBJTA5cmV0dXJuJTIwJTNCJTBBJTdEJTBBJTI0ZGF0YSUyMCUzRCUyMEBmaWxlX2dldF9jb250ZW50cyUyOCUyNGElMkMlMjdyJTI3JTI5JTNCJTBBaWYlMjglMjRkYXRhJTNEJTNEJTIyYnVna3UlMjBpcyUyMGElMjBuaWNlJTIwcGxhdGVmb3JtJTIxJTIyJTIwYW5kJTIwJTI0aWQlM0QlM0QwJTIwYW5kJTIwc3RybGVuJTI4JTI0YiUyOSUzRTUlMjBhbmQlMjBlcmVnaSUyOCUyMjExMSUyMi5zdWJzdHIlMjglMjRiJTJDMCUyQzElMjklMkMlMjIxMTE0JTIyJTI5JTIwYW5kJTIwc3Vic3RyJTI4JTI0YiUyQzAlMkMxJTI5JTIxJTNENCUyOSUwQSU3QiUwQSUwOXJlcXVpcmUlMjglMjJmNGwyYTNnLnR4dCUyMiUyOSUzQiUwQSU3RCUwQWVsc2UlMEElN0IlMEElMDlwcmludCUyMCUyMm5ldmVyJTIwbmV2ZXIlMjBuZXZlciUyMGdpdmUlMjB1cCUyMCUyMSUyMSUyMSUyMiUzQiUwQSU3RCUwQSUwQSUwQSUzRiUzRQ==-->
其中還有base64編碼,繼續解碼,所得到網頁程式碼為
var Words ="<script>window.location.href='http://www.bugku.com';</script> "; if(!$_GET['id']) { header('Location: hello.php?id=1'); exit(); } $id=$_GET['id']; $a=$_GET['a']; $b=$_GET['b']; if(stripos($a,'.')) { echo 'no no no no no no no'; return ; } $data = @file_get_contents($a,'r'); if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4) { require("f4l2a3g.txt"); } else { print "never never never give up !!!"; } ?> function OutWord() { var NewWords; NewWords = unescape(Words); document.write(NewWords); } OutWord();
stripos(字串a,字串b) 函式查詢字串b在字串a中第一次出現的位置(不區分大小寫)。
file_get_contents 將整個檔案讀入一個字串
strlen() 函式返回字串的長度
substr() 函式返回字串的一部分。 substr(string,start,length) ,length引數可選。如 substr($b,0,1) 就是在引數b裡面 ,從0開始返回1個長度的字串
eregi("111".substr($b,0,1),"1114") 就是判斷"1114"這個字串裡面是否有符合"111".substr($b,0,1)這個規則的
今天有點疲倦,不能集中注意力了。。偷個懶,直接訪問f4l2a3g.txt了,得到flag
明天后天記得補上。