网络安全实验室CTF—脚本关 writeup
網絡安全實驗室CTF—腳本關 writeup
- key又又找不到了
- 快速口算
- 這個題目是空的
- 怎么就是不彈出key呢?
- 知識點:驗證碼發布流程
- 逗比驗證碼第一期
- 逗比驗證碼第二期
- 逗比驗證碼第三期(SESSION)
- 微笑一下就能過關了
- 逗比的手機驗證碼
- 激情燃燒的歲月
- 驗證碼識別
- 知識點:XSS跨站腳本攻擊
- XSS基礎關
- XSS基礎關2:簡單繞過
- XSS基礎關3:檢測與構造
- Principle很重要的XSS
網絡安全實驗室CTF鏈接
key又又找不到了
分值: 200
小明這次哭了,key又找不到了!!! key啊,你究竟藏到了哪里,為什么我看到的頁面上都沒有啊!!!!!!
通關地址
進入鏈接后,顯示" 到這里找key ",查看網頁源碼發現跳轉鏈接
點擊鏈接但很快跳轉到另一頁面:“想找key,從哪里來回哪里去,我這里沒有key!哼!”
http://.../no_key_is_here_forever.php //跳轉后網頁的URL嘗試用Burp Suite抓包
將第一次抓取的頁面Send to Repeater后發送數據包,在Response中得到key。
快速口算
分值: 350
小明要參加一個高技能比賽,要求每個人都要能夠快速口算四則運算,2秒鐘之內就能夠得到結果,但是小明就是一個小學生沒有經過特殊的培訓,那小明能否通過快速口算測驗呢?
通關地址
需要在2秒鐘內提交計算結果,需要用到Python腳本
先用填入答案提交一次數據,用Burp Suite對數據進行抓包,獲取所需的Cookie和變量名信息
通過Python腳本實現2秒內提交計算結果,代碼如下:
運行腳本即獲取到key:
5326*77767+530*(5326+77767) 458226332 <html><head><meta http-equiv=Content-Type content="text/html;charset=utf-8"></head><body>key is 123iohHKHJ%^&*(jkh </body> </html>這個題目是空的
分值: 100
Tips:這個題目真不是隨便設置的。 什么才是空的呢? 通關地址:沒有,請直接提交答案(小寫即可)
“null”代表多數編程語言中代表空字節或空指針,所以提交“null”通關。
怎么就是不彈出key呢?
分值: 150
提交說明:提交前14個字符即可過關
通關鏈接
打開網頁后顯示“ 點擊之后怎么沒有反應呢?說好的彈窗呢? ”,嘗試點擊頁面,發現左下角瀏覽器執行了JavaScript代碼,javascript:a();,但并未產生彈窗,查看網頁源代碼:
<script>function alert(a) {return false;}document.write = function () {return false;}function prompt(a) {return false;}var a = function () {…… //省略部分代碼alert("key is first 14 chars" + d);} </script>發現在<script>標簽中,存在三個擾亂的函數return false;刪除前三個函數,在本地重新執行代碼(注:需有phpstudy環境支持),得到彈窗,截取前十四位字符,即為key。
知識點:驗證碼發布流程
1.用戶請求訪問或刷新網頁,服務器后臺生成驗證碼圖片及圖片編碼,
2.將驗證碼信息加密后放入Session或Cookie;
3.提交表單信息后,調用生成驗證碼的程序;
4.核對驗證碼無誤、數據合法后寫入數據庫;
用戶正常刷新頁面后,會再次訪問該表單頁面,驗證碼圖片被動更新,Session和Cookie存入的值也跟著改變,用不同方式模擬post傳參直接發送數據,從而達到繞過驗證碼的目的,修復此漏洞的方法:在核對驗證碼后,便清空Session和Cookie中保存驗證碼的值,再判斷數據的合法性,最后寫入數據庫,以此提高驗證碼的安全性。
逗比驗證碼第一期
分值: 100
逗比的驗證碼,有沒有難道不一樣嗎?
通關鏈接
進入登陸頁面后,User信息已給出,密碼提示為:第一位不為0的4位純數字,但需要輸入驗證碼登陸。
先嘗試登陸,用Burp Suite抓取數據包,獲取所需的Cookie和變量名信息:
將抓取的頁面Send to Repeater后發送數據包,在Response中顯示“pwd error”,嘗試在Request中修改數據包信息,根據給出的提示:“有沒有難道不一樣?”發現在不刷新頁面重制驗證碼的情況下,可以重復修改pwd的值,以達到繞過驗證碼爆破密碼的作用;
以下為爆破密碼的Python腳本代碼:
運行腳本即獲取到登陸密碼為:1238,同時得到key:
//從1000開始: 1237 1238 The passowrd is : 1238 key is LJLJL789sdf#@sd逗比驗證碼第二期
分值: 150
驗證便失效的驗證碼
通關鏈接
進入登陸頁面后,User信息已給出,密碼提示為:第一位不為0的4位純數字,但需要輸入驗證碼登陸,驗證碼一次失效
先嘗試登陸,用Burp Suite抓取數據包,獲取所需的Cookie和變量名信息:
將抓取的頁面Send to Repeater后發送數據包,在Response中顯示“pwd error”,嘗試在Request中修改數據包信息,根據給出的提示:“一次便失效”發現當驗證碼為空的情況下,可以重復修改pwd的值,以達到繞過驗證碼爆破密碼的作用;
以下為逗比驗證碼第二期爆破密碼的Python腳本代碼:
運行腳本即獲取到登陸密碼為:1228,同時得到key:
//從1000開始: 1227 1228 The passowrd is : 1228 key is LJLJL789ss33fasvxcvsdf#@sd逗比驗證碼第三期(SESSION)
分值: 150
尼瑪,驗證碼怎么可以這樣逗比。。
驗證碼做成這樣,你家里人知道嗎?
通關鏈接
原理同逗比驗證碼第二期,修改相關數據,運行腳本即可得到key。
微笑一下就能過關了
逗比的手機驗證碼
激情燃燒的歲月
驗證碼識別
知識點:XSS跨站腳本攻擊
有關XSS跨站腳本攻擊的詳盡內容請看:XSS跨站腳本攻擊原理與常見的腳本及《XSS跨站腳本攻擊剖析與防御》摘錄總結
XSS基礎關
分值: 50
XSS基礎:很容易就可以過關.XSS類題目必須在平臺登錄才能進行.登錄地址請參考左側<子系統>
通關鏈接
注:首先在子系統功能區進行題目平臺登陸,然后訪問鏈接
進入頁面后,顯示“Welcome guest”,有輸入框,構造常規payload進行測試:
提交后網頁出現兩個彈窗一個為“1”,即我們的測試代碼,一個為通關提示:“Please use alert(HackingLab)!!”
修改輸入的JavaScript腳本代碼為:
提交后彈窗顯示“success!”,得到key:
XSS基礎關2:簡單繞過
分值: 100
很容易就可以過關.
通關鏈接
有輸入框,嘗試簡單的XSS注入,但顯示檢測到XSS腳本:
懷疑“<script>”被檢測或過濾,嘗試通過“<img>標簽事件”觸發彈窗,構造如下JavaScript腳本:
提交查詢后彈窗顯示“success!”,得到key:
XSS基礎關3:檢測與構造
分值: 130
XSS基礎3:檢測與構造
Tips:不是很難
通關鏈接
頁面存在兩個輸入框,嘗試了大部分的注入語句,發現都被過濾,但當“value”的值為“alert”時,通過事件可以觸發彈窗:
提交查詢后彈窗顯示“success!”,得到key:
Principle很重要的XSS
總結
以上是生活随笔為你收集整理的网络安全实验室CTF—脚本关 writeup的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cityengine导出fbx
- 下一篇: 金句