web前置技能 HTTP協議
請求方式
使用bp抓包,send to repeater。
將開頭的GET更改成CTFHUB,點擊send。
在response中獲得flag。
另外還可以用curl命令來獲得flag,具體可以看官方的writeup。
302跳轉
用bp抓包,點擊Give me Flag的鏈接,send to repeater。
在response中獲得flag。
cookie
依舊是用bp抓包……
可以看到這里admin=0,結合網頁內容,可以聯想到把admin改成1就可以獲得flag了。
基礎認證
題目已經給了參考鏈接。
打開網頁,點擊give會出現一個輸入賬號密碼的窗口。
隨便輸個賬號密碼,抓包查看,會在response里面看到提示。
Do u know admin?
由此知道賬號名是admin。
但是密碼不知道怎么找,這里密碼的部分用了base64加密,也不好直接爆破。
看了題目才發現有個附件被我漏了(暈)
打開來就是一個密碼本。
那么就好解決了,把這些密碼前面加上“admin:”然后再base64加密交給bp爆破就可以了。
經過加密之后的密碼。
爆破之后的結果,長度和其他的不一樣的就是正確密碼了,在response里面可以看到flag。
響應包源代碼
打開題目是個貪吃蛇游戲。
實際上flag就在源碼里面,f12查看源碼就看到flag在注釋里面。
web 信息泄露
目錄遍歷
由於配置錯誤導致網站的目錄可被遍歷,一般該類漏洞可以為后續利用提供一些信息上的幫助。
點擊會出現目錄,一個一個找就可以找到flag了。
打開就是flag。
PHPINFO
直接查找就是了。
備份文件下載
網站源碼
可以一個一個試,也可以直接掃描后台。
打開www.zip,會下載一個文件,里面有一個flag文件,打開來是這個。
在網址后面輸入這個文件的名稱,就可以獲得flag了。
bak文件
題目提示是bak文件,在網址后面加上index.php.bak.
會下載index.php.bak。
用記事本打開就可以看到flag了。
vim緩存
這道題講的是vim的緩存,可以參考這個https://www.cnblogs.com/zwfc/p/5466885.html
和上一道題的方法差不多。
.DS_Store
打開.DS_Store。
會下載一個叫.DS_Store的文件,翻一翻會看到這個。
題目告訴我們.DS_Store可以知道這個目錄里面所有文件的清單,所以這個應該就是flag所在的文件。
網址訪問。
訪問了半天都是404,最后發現有一段被我忘掉了……
加上去之后訪問就可以獲得flag了。
信息泄露后面的不會做了……
密碼口令
弱口令
題目都說了是弱口令就拿常見的賬號密碼試試吧。
admin和123456,flag就出來了。
默認口令
題目名是默認口令,讓我們百度一下。
馬上就有結果了。
題目用的是億郵郵的網關,找一找默認口令就行了。
每一個都試一遍,最后找到flag。
密碼口令目前能夠做的題就結束了。
SQL注入
整數型注入
第一種方法 手注
進入題目,提示輸入1試試?
那就試唄。
直接把語句顯示出來了。
因為是整數型注入,不用加單引號。
猜字段。
在字段數為二的時候有回顯,所以字段數為2.
看哪個字段能夠回顯,這里要把id改成-1讓它能夠爆錯。(其他的能夠爆錯的也可以)
在2處注入,查找數據庫。
數據庫為sqli。
查表。
表名為news和flag。
查字段名。
查數據。
第二種方法 sqlmap
在url后面加上?id=1然后在sqlmap中檢查是否有注入點。
存在注入點。
查數據庫。
1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –current-db
數據庫名為sqli。
爆表名。
1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –D sqli –-tables
表名為flag和news。
爆字段名。
1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –D sqli –T flag --columns
字段名為flag。
爆數據。
1 1 sqlmap.py –u http://challenge-2ace14d871435db0.sandbox.ctfhub.com:10080/?id=1 –D sqli –T flag -C flag --dump
字符型注入
第一種方法 手注
輸入1,可以看到語句。
這道題和上一題不同,1變成了‘1’.
加上單引號並且注釋屏蔽后面的語句。
查字段。
查看哪個字段能夠回顯。
查數據庫。
查表。
查字段。
查數據。
第二種方法 sqlmap
跟上一題方法一樣
報錯注入
聯想題目:bugku多次第二部分 https://www.cnblogs.com/truthilia-12580/p/12288529.html
前面的題目字段數都是2,這回就先拿2試一試。
拿3試一試。
說明字段數是3.
當前數據庫。
數據庫中的表。
表中的字段。
數據。
這里只有前32位的,用substr截取就可以看到后面了。
1 substr(a,b,c) 2 從字符串a的b位置開始截取c個字符,當b為負數時截取位置是從字符串a右端向左數b個字符
拼接起來就是完整的flag了。
這一篇寫得太長了,尋思着再分一篇ヽ(*。>Д<)o゜