訪問解題連接去訪問題目,能夠進行答題。根據web題通常解題思路去解答此題。看源碼,請求,響應等。提交與題目要求一致的內容便可返回flag。而後提交正確的flag便可得分。web題主要考察SQL注入,XSS等相關知識。涉及方向較多。此題主要涉及源碼審計,MySQL相關的知識。 php
flag格式 CTF{} web
解題連接: http://ctf5.shiyanbar.com/web/pcat/index.php數據庫
原題連接:http://www.shiyanbar.com/ctf/1940瀏覽器
【解題報告】spa
這是我入門Web開始寫的第六道題,咱們點開解題連接,發現頁面很簡潔,咱們首先第一步仍是先看頁面的源碼,也很簡單,總共一行,可是這一行有一點讓我好奇,多了一個source.txt的註釋,說不定這個source.txt有貓膩,先本身想一想看,本機可能不存在這個文件,咱們經過瀏覽器訪問,將後綴名改爲source.txt訪問試試!哎,還真的是,頁面的完整源碼原來在這裏!rest
我們來對這段代碼進行審計code
這一部分頗有意思,這裏的意思是輸入的值過濾了這些SQL注入語句,像以上這些都是!blog
咱們看這一行,這一行也是一段SQL注入語句,這段的意思是將uname做爲條件輸入,而後經過提交的uname去數據庫中查詢uname和pwd,而後把查詢到的pwd和用戶輸入的pwd再進行對比get
若是用戶輸入的pwd和數據庫中查詢的pwd相同的話,輸出CTF{XXXXXX},不然輸出其它的!源碼
我們須要作的就是讓用戶輸入的pwd和數據庫中查詢的pwd相同,這下子咱們改怎麼辦呢?
我們能夠利用如下SQL注入語句:
' or 1=1 group by pwd with rollup limit 1 offset 2 #
這段語句什麼意思呢?
SELECT * FROM interest where uname=' ' or 1=1
group by pwd with rollup (在數據庫中添加一行使得pwd=NULL)
limit 1 (只查詢一行)
offset 2 (從第二行開始查詢)
#註釋
此時密碼只要爲空便可查詢成功
這個就是本題的Key了!