首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】2023年05月 攻防世界-Web(Cat)

【愚公系列】2023年05月 攻防世界-Web(Cat)

作者头像
愚公搬代码
发布2025-05-28 14:32:10
发布2025-05-28 14:32:10
9000
代码可运行
举报
文章被收录于专栏:历史专栏历史专栏
运行总次数:0
代码可运行

前言

命令执行漏洞是指攻击者通过向受攻击的系统发送恶意代码或输入,使其执行未经验证的操作命令,从而获取系统的敏感信息或控制受攻击的系统。这种漏洞通常发生在 Web 应用程序或网络服务中,攻击者可以利用这些漏洞在系统中执行任意代码,从而导致系统崩溃或被入侵。

命令执行漏洞的原因通常是由于编程人员没有对输入数据进行有效的过滤和验证,允许攻击者向系统发送恶意数据。攻击者利用这些漏洞通常使用操作系统(如Linux、Windows)的系统命令,例如wget、curl、bash等输入,使得系统执行未经验证的命令。

为了防止命令执行漏洞的发生,开发人员应该在编程时采取以下措施:

  1. 输入数据过滤和验证:开发人员应该对应用程序或网络服务接收到的所有输入数据进行过滤和验证,以确保输入的数据不会包含恶意代码。
  2. 使用参数化的查询方式:开发人员应该使用参数化查询方式来预防 SQL 注入攻击,这样就可以防止攻击者通过恶意数据来执行未经验证的 SQL 命令。
  3. 禁止执行系统命令:开发人员应该禁止应用程序或网络服务执行系统命令,例如wget、curl、bash等,除非这些命令是经过严格的验证才被允许执行。
  4. 应用程序或网络服务的权限限制:开发人员应该限制应用程序或网络服务的权限,确保应用程序只能访问必要的信息和资源。
  5. 安全编程实践:开发人员应该采用安全编程实践来编写应用程序或网络服务,例如使用安全框架和安全代码库。

一、Cat

1.题目

2.答题

尝试执行命令,127.0.0.1&&dir、127.0.0.1&&ls、127.0.0.1|ls均被屏蔽,所以无法入手,至此,没有收获到任何东西,唯一收获到的是网站使用的是url编码能够传入。

传递%80会出现报错,url编码使用的是16进制,80也就是128,ASCII码是从0-127,所以这个时候会报错。

发现是Django框架,所以根据Django的目录,我们使用@进行文件传递,对文件进行读取之后还会把内容传给url参数,如果像上面一样有超出解析范围的编码的时候就会得到错误信息。

搜索关键信息:database、settings等

发现database,访问database.sqlite3文件

代码语言:javascript
代码运行次数:0
运行
复制
http://61.147.171.105:51270/?url=@/opt/api/database.sqlite3

flag为:WHCTF{yoooo_Such_A_G00D_@}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、Cat
    • 1.题目
    • 2.答题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档