XCTF(攻防世界)—新手web题Write Up
前言:之前一直沒有接觸過web這方面的題,這次利用暑假時光好好學習,web真的是很有趣,雖然有的題很簡單,但可以學習到很多知識,話不多說,做題。
view_source
用老版火狐瀏覽器,直接查看源碼即可。
get_post
利用火狐進行傳參,即可得出flag。
robots
做這道題之前,了解一下robots協議,爬蟲協議,robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件,如果有這個文件,robots.txt文件告訴蜘蛛程序在服務器上什么文件是可以被查看的。
了解robots協議后,做題就好做了,直接訪問robots.txt文件。
給了一個PHP文件名,訪問一下即可得出flag
backup
不知道,百度百科一下
那加上后綴名即http://111.198.29.45:47771/index.php.bak再訪問一下,即可得出flag。
cookie
用burp抓一下包看看
添加后綴名
查看HTTP響應,即可得出flag
disabled_button
根據提示,將disabled刪除即可點出flag
webshell
一句話,用菜刀進行連接
連接成功,即可得出flag
simple_php
is_numeric() 函數用于檢測變量是否為數字或數字字符串。
代碼很好理解,傳入對應的參數即可得出flag
http://111.198.29.45:52319/?a=a即可得出
http://111.198.29.45:52319/?b=1236b即可得出
拼接一下,即可得出flag
command_execution(命令執行)
做題之前,要先了解一下ping功能,waf等。
ping命令的使用方法及功能
WAF主要防護的是來自對網站源站的動態數據攻擊,可防護的攻擊類型包括SQL注入、XSS攻擊、CSRF攻擊、惡意爬蟲、掃描器、遠程文件包含等攻擊,相當于防火墻。
命令執行詳解
常見的命令執行
command1 & command2 :先執行command2后執行command1
command1 && command2 :先執行command1后執行command2
command1 | command2 :只執行command2
command1 || command2 :command1執行失敗,再執行command2(若command1執行成功,就不再執行command2)
除此之外,我們還要了解一些常用的Linux命令。常用 Linux 命令
了解之后,我們便開始做題。
首先ping一下本地即127.0.0.1
ping通本地后,發現傳輸三個數據包,接下來就用到我們學到的Linux基本命令
查看一下,三個數據包中是否有flag.txt
輸入命令127.0.0.1 & find / -name flag.txt
果然有,再輸入命令127.0.0.1 | cat /home/flag.txt查看flag.txt文件,即可得出flag。
這里得了解一下cat命令,用來查看文件內容
weak_auth( 弱身份驗證 )
試試最常用的admin 123456組合,竟然爆出了flag,真的是弱口令,不過查了其他方法,用爆破的方法也可以做出了,這里記錄一下爆破過程。
先在GitHub上下載弱口令字典,用burpsuite進行爆破
用admin作為賬號,試試登陸
看來賬號就是admin,那么就只爆破密碼就可以了
密碼隨便輸入一個,抓一下包
將密碼設置為變量
載入字典
發現到123456時,長度不同,所以密碼即為123456,登陸一下即可得出flag
xff_referer
在此之前,我們需要了解下
xff——偽造IP地址來源
格式為:
X-Forwarded-For: client1, proxy1, proxy2, proxy3
referer——偽造來源瀏覽器
偽造XFF頭繞過服務器IP過濾
了解之后,便能夠做題了
抓包,根據提示修改xff
此時頁面顯示必須來自https://www.google.com
根據提示,偽造來源服務器,即可得出flag
simple_js
打開之后,直接查看源代碼,發現一串JS代碼
要做這道題就得看懂JS代碼表達的意思,首先來了解代碼中出現的一些方法
split() 方法用于把一個字符串分割成字符串數組。
fromCharCode() 可接受一個指定的 Unicode 值,然后返回一個字符串。
prompt()方法用于顯示可提示用戶進行輸入的對話框。
了解之后,便可以觀察代碼了
這一部分代碼分為兩個循環,但是仔細觀察的話,第一個循環是將前五個Unicode 值,然后返回一個字符串,寫一個簡單的python腳本驗證下
后一個循環功能是一樣的,只不過是把后面的Unicode 值,返回成字符串。
返回的pass為
即不管我們輸入什么,最終顯示都是這個,所以這個是假的密碼,那么真正的密碼應該就是
十六進制轉化為文本字符
再用簡單的python跑一下,即可得出flag
題雖然不是太難,但是可以學習到很多知識,接下來得快點學習python以寫腳本用,方便做題。
總結
以上是生活随笔為你收集整理的XCTF(攻防世界)—新手web题Write Up的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 参加ISCC2019线下赛感悟
- 下一篇: python学习(字符串、整数、列表)