網站 https://adworld.xctf.org.cn/task
01. view_source
問題描述:X老師讓小寧同學查看一個網頁的源代碼,但小寧同學發現鼠標右鍵好像不管用了。
解決方法: 使用view-source指令查看源碼 view-source:http://——————
獲取源碼的一般方法:1 firefox訪問后右鍵進行查看
2 view-source指令(如上)
02.Robots
問題描述:X老師上課講了Robots協議,小寧同學卻上課打了瞌睡,趕緊來教教小寧Robots協議是什么吧。
robots協議也叫robots.txt(統一小寫)是一種存放於網站根目錄下的ASCII編碼的文本文件,它通常告訴網絡搜索引擎的漫游器(又稱網絡蜘蛛),此網站中的哪些內容是不應被搜索引擎的漫游器獲取的,哪些是可以被漫游器獲取的。因為一些系統中的URL是大小寫敏感的,所以robots.txt的文件名應統一為小寫。robots.txt應放置於網站的根目錄下。如果想單獨定義搜索引擎的漫游器訪問子目錄時的行為,那么可以將自定的設置合並到根目錄下的robots.txt,或者使用robots元數據(Metadata,又稱元數據)。
https://baike.baidu.com/item/Robots%E5%8D%8F%E8%AE%AE
解決方案:在該地址下直接訪問robots.txt,獲得如下界面:
繼續訪問 f1ag_1s_h3re.php 即可得到flag
03.backup
題目描述:X老師忘記刪除備份文件,他派小寧同學去把備份文件找出來,一起來幫小寧同學吧!
解決方法:訪問地址,根據提示
index.php的備份文件名是index.php.bak,直接訪問index.php.bak,如下圖
用txt打開即獲得flag
04.cookie
題目描述:X老師告訴小寧他在cookie里放了些東西,小寧疑惑地想:‘這是夾心餅干的意思嗎?’
Cookie指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據
Cookie 是在 HTTP 協議下,服務器或腳本可以維護客戶工作站上信息的一種方式。Cookie 是由 Web 服務器保存在用戶瀏覽器(客戶端)上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到服務器,Web 站點都可以訪問 Cookie 信息。
解決方法:方法一:使用burpsuite查看requests和response
方法二:F12打開火狐的hackbar
點擊 網絡,在消息頭中可以看見 Set-Cookie look-here=cookie.php
繼續訪問cookie.php
在消息頭中可看見flag
05.get post
問題描述:X老師告訴小寧同學HTTP通常使用兩種請求方法,你知道是哪兩種嗎?
了解http請求方法,此處考察get和post兩個最常用的請求方法。
HTTP協議中共定義了八種方法或者叫“動作”來表明對Request-URI指定的資源的不同操作方式,具體介紹如下:
GET:向特定的資源發出請求。
POST:向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的創建和/或已有資源的修改。
OPTIONS:返回服務器針對特定資源所支持的HTTP請求方法。也可以利用向Web服務器發送'*'的請求來測試服務器的功能性。
HEAD:向服務器索要與GET請求相一致的響應,只不過響應體將不會被返回。這一方法可以在不必傳輸整個響應內容的情況下,就可以獲取包含在響應消息頭中的元信息。
PUT:向指定資源位置上傳其最新內容。
DELETE:請求服務器刪除Request-URI所標識的資源。
TRACE:回顯服務器收到的請求,主要用於測試或診斷。
CONNECT:HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器。
https://www.cnblogs.com/qing123tian/p/10785372.html
https://www.w3school.com.cn/tags/html_ref_httpmethods.asp
解決方法:1、請用GET方式提交一個名為a,值為1的變量
在url后輸入 ?a=1
2、請再以POST方式隨便提交一個名為b,值為2的變量
F12進入火狐的hackbar,如下圖
依次點擊 Load URL > Post Data > 輸入b=2
點擊excute得到flag
06.simple php
問題描述:小寧聽說php是最好的語言,於是她簡單學習之后寫了幾行php代碼。
解決方法:進入題目看見源碼如下
<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
echo $flag1;
}
if(is_numeric($b)){
exit();
}
if($b>1234){
echo $flag2;
}
?>
大致題意就是給a和b賦值可以各出現半段flag
在PHP中遇到數字與字符串進行松散比較()時,會將字符串中前幾位是數字且數字后面不是”.",“e"或"E"的子串轉化為數字,與數字進行比較,如果相同則返回為true,不同返回為false,后面的所有字符串直接截斷扔掉。若輸入的字符串是字母在前,如abc123,因為字符串首沒有數字,只能識別轉換成0。
輸入?a=a&b=1235c得到完整flag
07.webshell
問題描述:小寧百度了php一句話,覺着很有意思,並且把它放在index.php里。
webshell是web入侵的腳本攻擊工具。簡單的說來,webshell就是一個asp或php木馬后門,黑客在入侵了一個網站后,常常在將這些asp或php木馬后門文件放置在網站服務器的web目錄中,
與正常的網頁文件混在一起。然后黑客就可以用web的方式,通過asp或php木馬后門控制網站服務器,包括上傳下載文件、查看數據庫、執行任意程序命令等。

在數據中發現flag.txt,打開獲得flag
08.weak_auth
問題描述:小寧寫了一個登陸驗證頁面,隨手就設了一個密碼。
解決方法: 隨意輸入用戶名和密碼,出現以下提示:
繼續使用admin為用戶名,任意為密碼
提示為密碼錯誤
同時源碼中可以看見提示
使用brupsuite進行抓包
發現123456是正確密碼,輸入得到flag
09.disabled_button
題目描述:X老師今天上課講了前端知識,然后給了大家一個不能按的按鈕,小寧驚奇地發現這個按鈕按不下去,到底怎么才能按下去呢?
解決方法:將源碼中的disabled修改為abled
10.simple_js
題目描述:小寧發現了一個網頁,但卻一直輸不對密碼。(Flag格式為 Cyberpeace{xxxxxxxxx} )
行為分析:無論輸入什么都是錯的,無論怎么輸入都返回同一個錯誤提示。
解決方法:1 查看源代碼,可以發現js代碼
<html> <head> <title>JS</title> <script type="text/javascript"> function dechiffre(pass_enc){ var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65"; var tab = pass_enc.split(','); var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length; k = j + (l) + (n=0); n = tab2.length; for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i])); if(i == 5)break;} for(i = (o=0); i < (k = j = n); i++ ){ o = tab[i-l]; if(i > 5 && i < k-1) p += String.fromCharCode((o = tab2[i])); } p += String.fromCharCode(tab2[17]); pass = p;return pass; } String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30")); h = window.prompt('Enter password'); alert( dechiffre(h) ); </script> </head> </html>
分析發現輸出的一直是70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65的ascii輸出
真正的flag藏在下方那一串16進制數中\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30
用python處理得到數組

再轉換成ascii碼
得到flag cyberpeace{786OsErtk12}
參考 https://www.52pojie.cn/thread-1256623-1-1.html