已獲作者授權(quán)般眉,原文地址:
http://www.cnblogs.com/iamstudy/articles/2017_quanguo_ctf_web_writeup.html
0x00 題目分析
邏輯是注冊(cè)用戶 -> 登陸 -> 購(gòu)買
注冊(cè)的時(shí)候有waf婿奔,會(huì)過(guò)濾某些字符為空左权,比如on,select等
開(kāi)始沒(méi)注意惰爬,導(dǎo)致登陸的時(shí)候會(huì)經(jīng)常出現(xiàn)點(diǎn)莫名其妙的問(wèn)題
購(gòu)買的時(shí)候办绝,我猜可能是先通過(guò)商品的id查詢出價(jià)錢,然后再?gòu)膕ession里面獲取用戶名田绑,直接update去扣除用戶錢包里面的錢,其中從session取值的時(shí)候沒(méi)有做過(guò)濾抡爹,雖然前面都做了掩驱。
0x01 腳本
0x02 個(gè)人分析 總結(jié)
這題是一個(gè)多步盲注,并不是我們常見(jiàn)的那種一步提交參數(shù)豁延,就會(huì)有回顯的那種昙篙。
按流程來(lái)腊状,注冊(cè)诱咏,登錄。
我們注冊(cè)可能產(chǎn)生注入的用戶名缴挖,形如 ? xx'-1-1#袋狞,或者 xxx' || 1 #,原題過(guò)濾了哪些就不清楚了映屋。
注冊(cè)登錄都沒(méi)有問(wèn)題苟鸯,就是在購(gòu)買的時(shí)候,從session里面把用戶名取出來(lái)棚点,然后和后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行交互購(gòu)買早处,也就是這個(gè)時(shí)候產(chǎn)生了注入。
中間那個(gè)1的位置瘫析,就是我們的盲注語(yǔ)句的位置砌梆。為真的時(shí)候,購(gòu)買成功贬循。
還有一個(gè)過(guò)濾問(wèn)題咸包,過(guò)濾了on等敏感字,可以通過(guò)雙寫(xiě)繞過(guò)杖虾,形如 oonn烂瘫。
比賽寫(xiě)的時(shí)候一直死磕都沒(méi)死磕出來(lái),發(fā)現(xiàn)自己還是太菜了奇适,不能復(fù)現(xiàn)坟比,有點(diǎn)難受芦鳍。
也提醒我牢記一點(diǎn):
理清思路,思考后臺(tái)語(yǔ)句温算,提交的參數(shù)與數(shù)據(jù)庫(kù)交互的地方都有可能產(chǎn)生注入