2018西安工業大學第二屆萌新線上賽web WP
WBE
榕榕學姐的美好祝願
開啟連結
右擊,檢視頁面原始碼
得到flag
web1
開啟,發現
右擊,檢視原始碼,在最下面發現flag
web2
開啟,檢視原始碼,沒有發現有用資訊
按F12,檢視網路,發現Cookie裡藏著flag
web3
開啟,發現是程式碼審計題
審計PHP程式碼,就是要構造$user ===gou 'xatusec'
構造payload:http://117.34.116.134:8085/xatu/web3/index.php?user=xatusec
得到flag
web4
開啟,發現
和web3一樣,只是換成了POST方式傳參
使用火狐的hackbar傳參
得到flag
web5
開啟,發現只有一句文字:flag在一個神奇的地方!
檢視原始碼,沒有有用資訊,按F12也沒有發現有用資訊
檢視url地址,我們發現1ndex.php,將1改為i,發現又跳轉回1ndex.php
用burpsuite抓包,將1改為i,重新發請求,得到flag
web6
開啟連結
程式碼審計,百度一下,發現是變數覆蓋漏洞
題目使用了extract($_GET)接收了GET請求中的資料,並將鍵名和鍵值轉換為變數名和變數的值,然後再進行兩個if 的條件判斷,所以可以使用GET提交引數和值,利用extract()
GET請求 ?b=&a=,extract()會將$b和$a的值覆蓋了,將變數的值設定為空或者不存在的檔案就滿足$a == $content。
得到flag
web7
開啟連結,檢視原始碼
需要傳遞name和password,同時需要name和password不相等,到這裡都很簡單
然後需要(sha1($_GET['name']) == md5($_GET['password'])
使用常規的使用者名稱密碼是無法完成的,這裡有一點是sha1無法對陣列進行處理,
如果傳入的是陣列會返回false,
這裡我們就只需要傳入兩個不同的陣列即可,既滿足使用者名稱密碼不相等,
又因為傳入的陣列導致返回的sha1和md5加密後返回false,就達到了我們的目的,
web8
開啟連結
提示未經授權的使用者!
按F12,檢視網路,發現Cookie中有以下資訊
用burpsuite抓包
將user中的Z3Vlc3Q=通過base64解碼,得到guest
由頁面提示想到,將guest改為admin
將admin轉base64:YWRtaW4=
編輯重發:
顯示沒有登入
將login值改為1,重發
得到flag
web9
開啟連線
直接burpsuite 抓包
提示要求必須是本地客戶端
那麼,使用X-Forwarded-For:127.0.0.1進行ip偽造
有提示可知,需要將User-Agent後面的內容修改為Xatu_Web_Broswer
web11
開啟連結,什麼都沒有,檢視原始碼
發現提示,將include1.php填入url中,仍然什麼也沒有
非常像php偽協議
得到一串base64加密字元,解碼
<html>
</html>
<?php
error_reporting(0);
@$file = $_GET["file"];
if(isset($file))
{
if (preg_match('/http|data|ftp|input|%00|flag/i', $file) || strstr($file,"..") !== FALSE || strlen($file)>=100 || $file==="include1" )
{
echo "<p> error! </p>";
}
else
{
include($file.'.php');
setcookie("tips","include2.php");
}
}
else
{
header('Location:include1.php?file=index');
}
?>
發現其過濾了flag關鍵字,但是提示其中包含include2.php
得到另一串base64加密字元,解碼
<html>
</html>
<?php
error_reporting(0);
$file = $_GET["file"];
if(isset($file))
{
if ( preg_match('/http|data|ftp|input|%00|base/i', $file) || strstr($file,"..") !== FALSE || strlen($file)>=100)
{
echo "<p> error! </p>";
}
else
{
include($file.'.php');
}
}
else
{
echo "file not found";
}
?>
發現其沒有過濾flag關鍵字,但是過濾了base關鍵字
百度了一下,可以使用rot13進行構造
發現頁面空白,檢視原始碼
得到flag:flag{5d41a03ab1b2a76b9719d911017c592}
simple_sql
開啟連結,發現是一個輸入框,檢視原始碼,發現其過濾了空格
直接使用sqlmap,sqlmap中的space2comment.py,可以繞過
sqlmap -u "http://117.34.116.134:10004/index.php?id=1" --dbms mysql --tamper "space2comment.py" -D maolaile -T adm1n -C admin --dump
得到flag
更新中...
本人菜鳥,大佬勿噴!