[SWPUCTF 2021 新生赛]easyrce

题目链接:NSSCTF | 在线CTF平台

涉及工具:hackbar

涉及知识点:eval漏洞;system操作系统命令的使用

解题思路:

1.打开靶场:

审计代码:

注:代码实现了一个简单的文件包含漏洞。

①“error_reporting(0);”:设置错误报告级别为 0,即不显示任何错误。这样做可能是为了隐藏可能出现的错误信息,增加攻击者执行恶意代码的隐蔽性。

②“highlight_file(__FILE__);”:将当前文件的源代码高亮显示在浏览器中,用于查看代码内容。这是一种调试技术,通常在开发过程中使用,但在生产环境中不建议这样做,因为它会暴露代码结构和潜在的安全问题。

③“if(isset($_GET['url']))”:检查是否通过get方式传递了名为 ‘url’ 的参数。

④“eval($_GET['url']);”:如果 'url' 参数存在,则使用 ‘eval()’函数执行 ‘url’ 参数中的代码。‘eval()’函数将传入的字符串作为 PHP 代码执行,这就是一个典型的代码执行漏洞。

注:这段代码存在严重的安全漏洞,因为它直接执行了用户传入的 URL 参数中的代码,可能导致远程代码执行漏洞。攻击者可以构造恶意代码并通过 URL 参数传递,从而执行任意代码,可能导致系统受到严重损害。为了修复这个漏洞,应该避免使用 `eval()` 函数,而是采用更安全的方式来执行动态代码,如使用函数或类的方式来实现相同的功能,并对用户输入进行严格的验证和过滤。

2.审计得知:

存在eval漏洞,eval会执行我们用get传入的参数‘url’所包含的内容,此处可利用‘system(“ls /”);’命令来显示包含了哪些文件:

注:

①nssctf平台该题存在问题,有时候命令输入后没有返回结果,可退出页面后重新进入靶场即可解决;

②‘system’命令后需加英文状态的‘;’.

3.可看到目录包含“flllllaaaaaaggggggg”文件,极大可能就是flag,使用命令“system(“cat /flllllaaaaaaggggggg”)”来查看文件:

获得flag.

4.知识点总结:

①hackbar传参的基本使用,该知识点在我另一篇博文中详细介绍后具体使用过,有需要的师傅自行查阅,链接:【[SWPUCTF 2021 新生赛]jicao - CSDN App】http://t.csdnimg.cn/CAZ0X

②eva()漏洞,攻击者可利用eval会将括号里的内容当作php语句来执行的漏洞进行攻击。

③system函数的使用:

system(“ls /”);----->列出当前目录下的所有文件

System(“cat /*”);---->打开*文件

注:system语句末尾需要打分号!

  • 17
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值