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

文章讨论了命令执行漏洞的原理和常见原因,强调了编程时进行输入数据过滤和验证的重要性。提到了防止此类漏洞的策略,如使用参数化查询、禁止执行系统命令、权限限制和安全编程。文章还通过一个Django框架下的案例,展示了如何利用文件传递读取数据库文件,从而揭示潜在的安全风险。
摘要由CSDN通过智能技术生成


前言

命令执行漏洞是指攻击者通过向受攻击的系统发送恶意代码或输入,使其执行未经验证的操作命令,从而获取系统的敏感信息或控制受攻击的系统。这种漏洞通常发生在 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文件

http://61.147.171.105:51270/?url=@/opt/api/database.sqlite3

在这里插入图片描述
flag为:WHCTF{yoooo_Such_A_G00D_@}

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
文件上传漏洞是一种安全漏洞,攻击者通过上传含有恶意代码的文件来攻击服务器。当服务器没有正确验证上传文件的类型、大小和路径等信息时,恶意代码就会被执行,导致攻击者可以控制并篡改Web应用程序,进而访问敏感信息。\[1\] 在攻击中,攻击者可以构建一句话木马,并利用工具如burpsuite修改文件后缀名来绕过文件类型限制。上传成功后,攻击者可以使用菜刀或中国蚁剑等工具连接到服务器,从而获取服务器的控制权并执行各种操作,包括修改、删除和添加文件等。\[2\] Webshell是指攻击者在Web服务器上上传的恶意代码,一旦上传成功,攻击者可以通过Web页面的方式执行各种操作。Webshell具有隐藏性和隐蔽性,很难被发现和清除。攻击者通过Webshell可以获取服务器的完全控制权,窃取服务器上的数据,甚至发动更大规模的攻击。\[3\] 综上所述,攻击者利用文件上传漏洞上传恶意代码,通过构建一句话木马和使用Webshell等工具来攻击服务器并获取控制权。这种漏洞需要被及时修复和防范,包括正确验证上传文件的类型、大小和路径等信息,以确保服务器安全性。 #### 引用[.reference_title] - *1* *3* [【愚公系列202305 攻防世界-Web(upload1)](https://blog.csdn.net/aa2528877987/article/details/122691473)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [攻防世界-upload1-(详细操作)做题笔记](https://blog.csdn.net/qq_43715020/article/details/125274195)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值