mysql 南邮ctf_南邮ctf web题记录(上)
1.簽到題
f12看源碼就行了。
md5 collision
題目貼出了源碼,按照題意,a不等于QNKCDZO但是md5與QNKCDZO的md5相等時就可以獲得flag。
如果兩個字符經MD5加密后的值為 0exxxxx形式,就會被認為是科學計數法,且表示的是0*10的xxxx次方,還是零,都是相等的。
下列的字符串的MD5值都是0e開頭的:
QNKCDZO
240610708
s878926199a
s155964671a
s214587387a
s214587387a
以get的方式傳a,值取以上不為QNKCDZO的值即可。
2.簽到2
在輸入框里面輸入zhimakaimen,我們會發現最后一位數沒有辦法輸入進去。
右鍵檢查一下會發現源碼里面設定了maxlength為10.
更改這個數值,讓zhimakaimen能夠全部輸入在輸入框之后點開門就出現flag了。
3.這題不是web
打開題目是一個貓貓的動圖。
用一句話木馬的時候經常把一句話木馬藏在圖片的里面,我們把圖片下載下來,用記事本打開,在最后一行就可以看到flag了。
4.層層遞進
f12查看源碼,會看到一個網址。
點進去看看?
跟剛才差不多的界面。繼續查看源碼。
繼續。
O和0是不一樣的(汗)
404.html終于不是先前的界面了。
查看源碼,發現奧秘。
5.AAencode
做題做到一半無法訪問了?
6.單身二十年
這個題目名讓我感到深深的惡意。
打開bp,抓包。
點擊到這里找key。
抓到包了,send to repeater。
在response里面發現flag.
7.php decode
這道題目沒有鏈接。
題目給了一段源碼。
1 <?php
2 function CLsI($ZzvSWE) {
3
4 $ZzvSWE = gzinflate(base64_decode($ZzvSWE));
5
6 for ($i = 0; $i < strlen($ZzvSWE); $i++) {
7
8 $ZzvSWE[$i] = chr(ord($ZzvSWE[$i]) - 1);
9
10 }
11
12 return $ZzvSWE;
13
14 }
15 eval(CLsI("+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA=="));
16 ?>
把這段代碼運行一下就行,為了顯示出結果,把eval換成echo。
8.文件包含
鏈接題目:bugku flag在index里
這道題與flag在index里是一個考點,然而我又忘記怎么做了……
來復習一下吧。
我們不僅要知道這道題怎么做,還要知道后面的原理(/(ㄒoㄒ)/~~)
就可以獲得以base64編碼的index.php的源碼。
找個網站解碼就可以了。
從源碼中可以看到屏蔽了’../’? ’tp’? ’input’? ’data’。
9.單身一百年也沒用
這道題和單身二十年是一樣的做法。
單身二十年是重定向,這道題是302跳轉。
10.Download~!
打不開了……
看了看大佬們的writeup,是通過更改url把download.php下下來(完全想不到QAQ),雖然做不了但是還是記錄一下。
11.COOKIE
抓包,cookie上的Login=0,改成1send過去就行了。
12.MYSQL
那就掃掃后臺吧。
其實直接/robots.txt就可以了(_〆(′Д` ))
掃到了robots.txt,打開來看看。
提示是sql.php,并且源碼中顯示會用get方法獲得id。
打開sql.php,試一下id=1024.
注意看源碼,源碼里面有一個intval函數,用來取整,在與1024比較的時候沒有將其取證,而echo的時候的id是取整過的id,所以取1024.1就可以繞過比較輸出其中的內容了。
13.GBK Injection
在單引號前面加上%df繞過轉義。
查字段數。
3的時候會爆錯,字段數為2.
看哪一個能夠回顯,id=-1是為了能夠爆錯顯示信息。
查當前數據庫。
查表名。
根據題目名猜測flag在gbksqli里面。
查列名。這里因為單引號被轉義,要將gbksqli轉換成16進制ASCII碼。
查數據。
提交上去發現失敗了……(;′д`)ゞ
最后發現表名是ctf4……
14./x00
strpos:查找 "php" 在字符串中第一次出現的位置
ereg函數遇到%00會截斷或者為數組時返回值不為false。
或者。
15.bypass again
一個簡單的md5繞過。
a,b都是數組就行了。
16.變量覆蓋
source at /source.php
點進去看源碼。
這里有一個extract函數,用post傳值相同的pass和thepassword_123就可以了。
17.PHP是世界上最好的語言
題目沒了……
18.偽裝者
偽裝ip,這里用X-Forwarded-For是不行的,要用Client-IP。
抓包,在頭部加上Client-IP=127.0.0.1。
19.Header
也沒了/
20.上傳繞過
00截斷繞過。
隨便找個圖片上傳,用bp抓包。
在/uploads/后面加上1.php再加上一個空格。
轉到16進制,在這一行找到1.php的16進制,找到20(空格的十六進制表示),然后改成00.
會變成這樣。
send。
獲得flag。
總結
以上是生活随笔為你收集整理的mysql 南邮ctf_南邮ctf web题记录(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux管道命令后用什么可以把前面的输
- 下一篇: Discoverer导出的多层BOM如何