Bugku web
1.web2
開啟網頁:
哈哈,其實按下F12你就會發現flag。
2.計算器
開啟網頁,只是讓你輸入計算結果,但是發現只能輸入一個數字,這時按下F12,修改一下引數,使之可以輸入多個數字,修改後輸入結果就拿到flag了。
3.web基礎$_GET 30
開啟網頁,審計一下大概是要讓其得到一個what=flag,於是在URL後面加上?what=flag,就得到flag了。
4.web基礎$_POST 30
開啟網頁,審計一下大概是要讓你上傳一個what=flag,用hackbar來post一下就行了。
5.矛盾
審計程式碼,發現大概是要得到num=1,但是num又不是數字。這樣就要想辦法了,?num=1e0.11,傳遞一下就行了。(讓num是1但又不是數字)
6.web3
開啟網頁,檢視原始碼,發現最後有一串HTML編碼,解碼就行了。
7.域名解析
Linux、Windows都可以,找到Windows為 c:\windows\system32\drivers\etc\hosts ,linux下為etc/hosts,修改如下:
儲存後訪問 flag.baidu.com ,就拿到flag了。
8.你必須讓他停下
先來一個不建議用單頁能得出flag的方法。
開啟網頁發現一直在不斷跳轉,猜想可能原始碼中有這樣的語句使其一直跳轉,於是檢視原始碼,果然發現一段程式碼:
於是想到修改一下頁面程式碼,F12,找到對應部分,將
window.location.reload(); 刪去,由於頁面是不斷跳轉的,也許你修改的原始碼真是flag所在網頁的原始碼,那你就能直接在flag is here,這裡看到flag。
但是還是不建議這樣做,正確的做法應該是:
用bp抓包,送到repeater裡,一幀一幀的go,就是一直點go,就能拿到flag了。
9.本地包含
審計一下程式碼,大概意思就是接受一個hello的值賦給a,然後再輸出a,上面有提示flag.php,可能flag在這個檔案中。
這個時候需要傳遞一個hello,且將檔案中文字賦給hello,用到一個PHP函式:file_get_contents(),將URL改成:
http://123.206.87.240:8003/?hello=file_get_contents('flag.php'),
然後再檢視原始碼,flag就被輸出了。
10.變數1
這個題好幾個網站上都有,下面是我找到的解法:
首先觀察程式,很明顯看到了$$args,考慮到此題可能考GLOBALS變數,直接構造如下賦值即可:
http://120.24.86.145:8004/index1.php?args=GLOBALS
得到flag
11.web5
檢視原始碼,發現有好長一串不一樣的有符號組成的東西,這是一個js的編碼,貼上到控制檯中,回車就行了。
12.頭等艙
開啟什麼也沒有,原始碼也什麼也沒有,於是用bp抓包,送到repeaterli,go一下,看到了flag。
13.網站被黑
題上寫到:這個題沒技術含量但是實戰中經常遇到
原始碼什麼的也沒發現什麼,於是用御劍掃描一下,發現一個shell.php,開啟這個網頁,準備好抓包,隨便輸入一個密碼,比如admin,回車,這是就抓到包了(一定是在提交時抓包)。
送到intruder中進行密碼爆破:
開始破解,完成後發現
所以密碼是:hack
輸入後就拿到flag了。
14.管理員系統
開啟連結發現是要登陸,(這裡sql注入不行),自己隨便輸入使用者名稱密碼,會有這樣的提示:
“本地管理員”......“本地”......
得到新思路:偽裝成本地訪問:
抓包
改包:Headers中增添一對鍵值對: X-Forwarded-For : 127.0.0.1
F12發現有一串base64碼,解碼為test123,猜想是密碼,輸入使用者名稱和密碼,用bp抓包,再改包,送包就會發現flag了。
15.web4
看看原始碼有escape編碼,unescape一下得到程式碼,可以看到:
if("67d709b2b54aa2aa648cf6e87a7114f1"==a.value)return!0;
輸入67d709b2b54aa2aa648cf6e87a7114f1提交就拿到flag了。
16.flag在index裡
老司機看到檔案在index(php檔案)中,估計很快能拿到flag。
這裡用到一個讀取php檔案原始碼的方法,是檔案包含漏洞(本地檔案包含(Local File Include),簡稱 LFI。),先說解決方法再解釋。(file關鍵字是提示,其實也是CTF的套路)
然後來解釋php://filter/read/convert.base64-encode/resource=index.php
首先這是一個file關鍵字的get引數傳遞,php://是一種協議名稱,php://filter/是一種訪問本地檔案的協議,/read=convert.base64-encode/表示讀取的方式是base64編碼後,resource=index.php表示目標檔案為index.php。這樣就能讀取檔案原始碼並以base64的 方式輸出。
將base64碼解碼就拿到flag了。
17.