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登录后台。
SQL注入部分
1. 显错注入
通过在?id=1
后添加单引号可以触发错误,使用sqlmap进行注入:
bash复制sqlmap -u "http://192.168.123.129/control/sqlinject/manifest_error.php?id=1" --dbs #查询数据库
2. 布尔注入
判断页面是否存在布尔注入,通过逻辑判断观察页面显示情况。
3. 延时注入
在sqlmap中执行相同的命令。
4. post注入
抓包并保存为txt文件,然后在sqlmap中执行命令。
5. 过滤注入
类似上一关,无技术含量。
6. 宽字节注入
利用宽字节编码绕过转义函数,通过BURP进行抓包。
7. xxe注入
提交XML代码获取Linux系统密码。
8. csv注入
环境问题,暂不处理。
9. 万能密码登录
输入用户名和密码为' or 1=1#
即可成功获取flag。
XSS篇
1. 反射型
构造<script>alert(大表哥牛逼)</script>
触发XSS,也可使用反射的payload。
2. 存储型
利用反射的payload:id=<script>alert(document.cookie);</script>
3. DOM型XSS
通过前端进行DOM型XSS,提交相应的payload。
4. 过滤XSS
使用img
标签和onerror
绕过过滤,例如<img src=1 onerror=alert(document.cookie)>
。
5. 链接注入
利用XSS进行网页跳转或直接在地址栏中输入payload。
任意文件下载
通过点击下载按钮抓包,可尝试下载系统中的任意文件,如mysql配置文件。
文件上传
1. 文件上传(前端拦截)
删除前端的文件类型过滤即可绕过。
2. 解析漏洞
与Apache和Nginx的配置有关,环境所限,不处理。
3. 文件上传(畸形文件)
通过双写形式绕过对PHP文件的过滤。
4. 文件上传(截断上传)
尝试使用截断文件名的方式绕过上传限制。
结束语
通过靶场练习,我们能够熟悉常见的Web安全漏洞,以防止在实际开发中出现类似致命漏洞。然而,务必谨慎进行渗透测试,规范操作,避免不必要的问题。肾透不规范,亲人泪两行。
暂无评论内容