1. 程式人生 > >Bugku web

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的套路)

構造URL:http://123.206.87.240:8005/post/index.php?file=php://filter/read/convert.base64-encode/resource=index.php

然後來解釋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.