前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >CTFHUB解题纪录-RCE基础

CTFHUB解题纪录-RCE基础

作者头像
Tommonkey
发布2023-03-17 15:57:56
发布2023-03-17 15:57:56
7050
举报
文章被收录于专栏:TommonkeyTommonkey

CTFHUB解题纪录-RCE基础

什么是RCE? RCE:romote commond/code execute,其分为远程命令执行和远程代码执行。漏洞形成的原因是开发者没有在数据输入处做检测和过滤导致产生漏洞。做题之前先把需要知道的知识点大概罗列一下吧!

  • eval()和system()函数的使用
  • 文件包含产生的原因
  • php伪协议的使用,如:php://, data://, php://input 等。
  • 如何绕过过滤,如:%0a:代表换行。%09:代表tab,配合 * 可以用来补全命令或者文件名,以此来绕过关键字的绕过。

第一题:eval执行

第二题:文件包含

第三题:php:input

php常用的伪协议就几个,使用多了就好了。

第四题:读取源代码

第五题:远程包含

这里发现用前面的伪协议也可以拿到flag,但这题考的远程包含。

第六题:命令注入

第七题:过滤cat

cat的代替命令有很多,比如:tail,more等。

第八题:过滤空格

linux下空格可以使用{IPS},{IPS}9来代替。

第九题:过滤目录分隔符

这题过滤了目录分隔符这玩意,换个思路,我们可以通过cd命令到flag文件目录下,就可以避免使用目录分隔符了。

第十题:过滤运算符

发现过滤了 & 运算符,但没过滤 ;这个,所以改成 ;就OK了。

第十一题:综合过滤练习

观察源代码发现把一些运算符都过滤了,连||,;,flag都没放过,所以我们肯定需要找到其他的东西来代替;&这些运算符,这里用的是%0a和%09,他们分别代理换行和tab的意思。这里的payload:127.0.0.1%0acd%09*here%0als,表示通过tab补齐功能来绕过flag关键字的过滤,并显示当前目录下的文件。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CTFHUB解题纪录-RCE基础
    • 第一题:eval执行
    • 第二题:文件包含
    • 第三题:php:input
    • 第四题:读取源代码
    • 第五题:远程包含
    • 第六题:命令注入
    • 第七题:过滤cat
    • 第八题:过滤空格
    • 第九题:过滤目录分隔符
    • 第十题:过滤运算符
    • 第十一题:综合过滤练习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档