1.web2
F12直接找到
2.計算器
準(zhǔn)備輸入答案時發(fā)現(xiàn)只能輸入一位,檢查源碼
將maxlength的值修改一下再輸入就好了
3.web基礎(chǔ)$_GET
用get方法傳入what的值
4.web基礎(chǔ)$_POST
和第三道很像,使用post方法傳遞值日矫。不過沒有輸入框畔柔,我是用的火狐瀏覽器中的hackbar插件直接輸入
5.矛盾
$num=$_GET['num'];
if(!is_numeric($num))
{
echo $num;
if($num==1)
echo 'flag{**********}';
}
輸入的num既不能是數(shù)字,還要等于1课锌。變量num是直接接入條件的乔宿,故可以構(gòu)建多條件,來成立判斷唯蝶。
payload:?num=1=
6.web3
進(jìn)去之后發(fā)現(xiàn)一直在彈窗九秀,查看源碼時發(fā)現(xiàn)
復(fù)制下來用unicode解碼得到flag
7.域名解析
剛開始看到這句話的時候一直修改flag.baidu.com但是發(fā)現(xiàn)一直不對,然后突然想到粘我,如果反過來呢鼓蜒?
首先輸入123.206.87.240,然后burpsuite抓包征字,將host修改成flag.baidu.com得到flag
8.你必須讓他停下
這一道題好皮都弹,一直在跳轉(zhuǎn),源碼都沒辦法看匙姜,但是幸好有開著F12的習(xí)慣畅厢,看看我發(fā)現(xiàn)了什么?
一閃而過的頁面中有著flag搁料,我用截圖把每個頁面都截了之后找到的或详,最好用burp一個一個抓包(;′д`)
本地包含
這個題打開之后服務(wù)器出錯郭计,修好之前應(yīng)該是不能寫了霸琴,就不算這一題了。
9.變量1
代碼審計昭伸,看最后一行代碼:
eval("var_dump($$args);");
有了兩個$$的可變變量梧乘,所以payload:?args=GLOBALS? ,最后會解析全局變量GLOBALS將數(shù)值全部爆了出來
10.web5
可以從源碼的head中發(fā)現(xiàn)這些玩意兒
一堆括號和符號庐杨。由題目可以知道這是jsp(Java Server Pages)加密的选调,直接放到Firefox的控制臺中
11.頭等艙
看題目就知道是在消息頭里面,然而找了幾遍竟然沒找到灵份,后來用burp抓包發(fā)現(xiàn)
12.網(wǎng)站被黑
進(jìn)去之后可以發(fā)現(xiàn)是一個黑頁仁堪,黑頁大部分是靜態(tài)的網(wǎng)頁。然后用御劍掃描后發(fā)現(xiàn)一個網(wǎng)址
之后用burp暴力破解填渠,發(fā)現(xiàn)密碼為hack
13.管理員系統(tǒng)
先隨便輸入一個用戶名和密碼發(fā)現(xiàn)
然后想到可以通過XXF偽造一個ip地址弦聂,X-Forwarded-For(XFF)是用來識別通過HTTP代理或負(fù)載均衡方式連接到Web服務(wù)器的客戶端最原始的IP地址的HTTP請求頭字段。通俗來說氛什,就是瀏覽器訪問網(wǎng)站的IP莺葫。
偽造一個IP之后發(fā)現(xiàn)還是沒什么用,于是又去翻源碼枪眉,發(fā)現(xiàn)最后一行有點(diǎn)東西
base64編碼捺檬,解密之后是test123,這個會不會是密碼贸铜?
Note:username和password與數(shù)據(jù)包之間要有一行空格隔開堡纬,否則服務(wù)器不解析D羰堋!隐轩!
14.Web4
進(jìn)去之后它說讓看源碼
將這些東西進(jìn)行url解碼之后得到
所以將兩端代碼拼接起來就好了饺饭。(不要忘了在中間加上54aa2渤早!不過感覺應(yīng)該是少了個+號 ( ̄▽ ̄) )职车。
payload:輸入67d709b2b54aa2aa648cf6e87a7114f1
15.flag在index里
進(jìn)去之后發(fā)現(xiàn)一句話,點(diǎn)擊發(fā)現(xiàn)下一個網(wǎng)址是這樣的
然后想到這應(yīng)該是一個文件包含類型的漏洞鹊杖,
payload:php://filter/read=convert.base64-encode/resource=index.php
php://是一種封裝協(xié)議悴灵,參考:https://www.php.net/manual/zh/wrappers.php.php
這個payload可以通過偽造協(xié)議來查看源碼,將得到的字符串進(jìn)行解碼后得到
16.輸入密碼查看flag
這個進(jìn)去之后發(fā)現(xiàn)
五位數(shù)字骂蓖,不如用burp暴力破解試下积瞒?
密碼:13579
17.點(diǎn)擊一百萬次
先看源碼,
name是clicks登下,用post傳遞茫孔,于是
18.備份是個好習(xí)慣
進(jìn)去后只發(fā)現(xiàn)了一堆字符串,觀察了一會還發(fā)現(xiàn)了它其實是一段字符出現(xiàn)了兩遍被芳,但是拿去解碼卻不行缰贝。
再回頭看題目:備份是個好習(xí)慣,那我們把index.php備份一下試試畔濒,
url:123.206.87.240:8002/web16/index.php.bak
然后把得到的文件轉(zhuǎn)換成txt格式可以看到源碼
key被替換成空了剩晴,不過我們可以用雙寫繞過去。之后只需要解決key1==key2但是又不相等的問題侵状。
這里需要知道赞弥,md5中PHP在處理哈希字符串時,會利用”!=”或”==”來對哈希值進(jìn)行比較趣兄,它把每一個以”0e”開頭的哈希值都解釋為0绽左,所以如果兩個不同的密碼經(jīng)過哈希以后,其哈希值都是以”0e”開頭的艇潭,那么PHP將會認(rèn)為他們相同拼窥,都是0。所以只需要找到兩個md5是0e開頭的就行暴区。
0e開頭小結(jié):https://blog.csdn.net/fengzhantian/article/details/80490629?utm_source=blogxgwz2
payload:http://123.206.87.240:8002/web16/index.php?kekeyy1=s155964671a&kekeyy2=s878926199a
最后得到flag:Bugku{OH_YOU_FIND_MY_MOMY}
19.學(xué)生成績查詢
看見這個輸入框第一反應(yīng)就是sql注入闯团,用單引號試了一下,沒錯仙粱,就是sql注入了房交。
之后可以用聯(lián)合查詢直接查詢出來。
當(dāng)然伐割,使用sqlmap跑也行
20.秋名山老司機(jī)
這一關(guān).......考的是python候味,兩秒內(nèi)算出答案然后再提交刃唤,只能寫腳本了,然而因為現(xiàn)在還沒學(xué)會python白群,等到能寫腳本的時候再補(bǔ)吧尚胞。。帜慢。笼裳。。