CTF个人总结指南(更新中)
XCTF總結(jié):
-
查看源碼
ctrl+U
F12
view-source:
Burpsuite -
robots.txt
-
掃描目錄腳本:桌面dirsearch-master
命令:C:\Users\Yuen>python C:\Users\Yuen\Desktop\dirsearch-master\dirsearch.py -u http://111.198.29.45:50014/ -e * -
常見(jiàn)備份文件名
.git
.svn
.swp
.~
.bak
.bash_history -
注意cookie
-
有些頁(yè)面需要達(dá)到條件才能拿到flag,可以試試查看前端代碼,并修改
-
X-Forwarded-For:123.123.123.123/Referer:https://www.google.com
-
遇到登陸賬號(hào)密碼的,用bp進(jìn)行爆破
-
常用一句話
- 命令執(zhí)行
command1 & command2 :不管command1執(zhí)行成功與否,都會(huì)執(zhí)行command2
command1 && command2 :先執(zhí)行command1執(zhí)行成功后才會(huì)執(zhí)行command2 ,若command1執(zhí)行失敗,則不執(zhí)行command2
command1 | command2 :只執(zhí)行command2(將上一個(gè)命令的輸出作為下一個(gè)命令的輸入)
command1 || command2 :command1執(zhí)行失敗,再執(zhí)行command2(若command1執(zhí)行成功,就不再執(zhí)行command2)
- sqlmap爆破
(1)全爆
sqlmap -u “www.example” --dbs
sqlmap -r xctfrequest.txt --dbs
sqlmap -r xctfrequest.txt -D news --dump
(2)慢慢爆
-
git泄露
url訪問(wèn):http://111.198.29.45:46634/.git/,出現(xiàn)泄露的文件,因此得出存在git文件泄露
腳本:python GitHack.py http://111.198.29.45:31555/.git/ -
chrome://downloads,恢復(fù)惡意文件
-
下載到附件后,查看代碼可以根據(jù)代碼內(nèi)容修改后綴名查看
-
瀏覽器會(huì)自動(dòng)對(duì)url進(jìn)行一次解碼,有時(shí)需要兩次編碼
-
序列化和反序列化
- intval函數(shù)
去除小數(shù)點(diǎn)(0除外)的函數(shù)
注:
-
源碼看不出東西就抓包,有些進(jìn)行url超鏈接的需要抓包
-
POST提交數(shù)據(jù):需要在最后一行添加Content-Type: application/x-www-form-urlencoded
-
find / -name flag.txt
-
有時(shí)候有id=xx并不是一定存在sql注入,而是存在id的爆破,多多嘗試
-
copy 1.jpg/b + 1.php/a 11.jpg
-
==是判斷返回true還是false
-
一定仔細(xì)看題目,那就是提示
-
extract(),查詢php官網(wǎng)得知這個(gè)函數(shù)會(huì)將參數(shù)里數(shù)組的鍵名當(dāng)作變量名,值作為變量的值。
-
上傳時(shí)的1.php.jpg的00截?cái)嗪虲ontent-Type:
CG-CTF總結(jié):
- 修改前端代碼長(zhǎng)度
- 圖片源碼查看可能有flag
- 源碼頁(yè)面層層遞進(jìn)
- 文字編碼后,打開(kāi)新txt,之后以Unicode格式保存(右鍵另存為),之后再放入控制臺(tái)運(yùn)行
- 頁(yè)面存在超鏈接,注意真正的鏈接會(huì)被重定向,考慮查看源代碼或者使用bp
- 文件包含偽協(xié)議php://filter/read=convert.base64-encode/resource=index.php
- 修改cookie
- robots.txt
- 引號(hào)被轉(zhuǎn)義,可以使用%df和\合成運(yùn),注釋符可以是%23(#如果被過(guò)濾的話就url編碼)或者–+
- ereg()函數(shù)%00截?cái)?br /> ereg()在匹配字串是檢測(cè)到%00會(huì)停止,而strpos()會(huì)繼續(xù),故構(gòu)造nctf=1%00%23biubiubiu即可得到flag(%23因?yàn)闉g覽器會(huì)自動(dòng)解嗎一次,只使用#會(huì)被瀏覽器自動(dòng)解碼成空)
- php弱類型
s878926199a
0e545993274517709034328855841020
s155964671a
0e342768416822451524974117254469 - post變量覆蓋
register_global=ON時(shí)POST傳入數(shù)據(jù)值會(huì)覆蓋掉php中變量值,源碼中對(duì)post數(shù)據(jù)進(jìn)行了extract()處理,extract()函數(shù)會(huì)將數(shù)組中的值賦給對(duì)應(yīng)索引 - 1.php%00截?cái)嗖恍?#xff0c;就把%00替換為空格標(biāo)記該位置,在16進(jìn)制中找到對(duì)應(yīng)的位置,把20(空格的16進(jìn)制是20)改為00截?cái)?/li>
- sql注入有源碼給你看時(shí),可能需要構(gòu)造payload
- strcmp()弱類型,傳入數(shù)組時(shí)會(huì)返回null。所以post的數(shù)據(jù)為pass[]=1可以獲取flag,pass=aa[]是不行的,必須要在參數(shù)pass后面加[]
- 本地登錄:抓包添加Client-ip:127.0.0.1或x-forwarded-for:127.0.0.1
- 讓兩個(gè)數(shù)相等,要實(shí)現(xiàn)繞過(guò)還是可以使用16進(jìn)制=10進(jìn)制,十進(jìn)制轉(zhuǎn)16進(jìn)制最好用python腳本,工具的轉(zhuǎn)的hex(16進(jìn)制不行)
- sql注入:clean()函數(shù)去掉轉(zhuǎn)義,htmlentities($str, ENT_QUOTES)會(huì)轉(zhuǎn)換單引號(hào)和雙引號(hào)。這里我們只能通過(guò)引入反斜杠,轉(zhuǎn)義原有的單引號(hào),改變?cè)璼ql語(yǔ)句的邏輯,導(dǎo)致sql注入
payload如下:?username=&password=%20or%201%23 - 遇到一大串代碼,就放到控制臺(tái)里運(yùn)行,亂碼的話就先右鍵保存,轉(zhuǎn)碼后再放入控制臺(tái),也要注意請(qǐng)求頭,響應(yīng)頭有沒(méi)有提示
如遇到history of bash,則url目錄后訪問(wèn)/.bash_history,最后如果出現(xiàn)zip就下載
例:
zip -r mydata.zip mydata #壓縮mydata目錄 壓縮成 mydata.zip 文件
unzip mydata.zip -d mydatabak #解壓mydata.zip 解壓到mydatabak目錄下 - union前面的語(yǔ)句查詢不成功的時(shí)候會(huì)執(zhí)行后面的語(yǔ)句
- vim這個(gè)東西異常退出時(shí)會(huì)留下臨時(shí)文件常常是.swp、.swo格式。或者可能會(huì)留下備份文件~結(jié)尾文件,所以可以尋找action文件,例如是submit.php,之后在原本action的基礎(chǔ)上加.sumbit.php.swp來(lái)查看submint.php的源碼
- 判斷:0e11='0' //true 判斷:000000...n個(gè)0='0' //true
- 偽協(xié)議php://input訪問(wèn)請(qǐng)求的原始數(shù)據(jù)的只讀流,如果無(wú)法顯示flag就使用bp來(lái)進(jìn)行post請(qǐng)求
- 變量覆蓋:foreach(name=meizijiu233 as $key => $value) //$key=name,$value=meizijiu233
注:PHP所使用的preg_match()函數(shù)從用戶輸入字符串獲得參數(shù),如果所傳送的值為數(shù)組而不是字符串就會(huì)生成警告,警告消息中包含有當(dāng)前運(yùn)行腳本的完整路徑
application/octet-stream 未知的應(yīng)用程序文件
application/json json數(shù)據(jù)
text/plain 未知的文本文件(純文本文件),瀏覽器會(huì)認(rèn)為這是可以直接顯示的
注:瀏覽器分辨文件是基于MIME的,而不會(huì)把文件打開(kāi)查看是否是其他類型,例如用link鏈接了一個(gè)標(biāo)記為text/plain的文件,就算此文件是css文件,就算其后綴是.css,瀏覽器依舊不認(rèn)
text/css css文件
text/html HTML文件
image/gif gif文件
總結(jié)
以上是生活随笔為你收集整理的CTF个人总结指南(更新中)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 农村信用社贷款要求
- 下一篇: WeChall_PHP-htmlspec