bWAPP闯关系列(搭建+HTML Injection)~

Posted 小小yangaaa~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bWAPP闯关系列(搭建+HTML Injection)~相关的知识,希望对你有一定的参考价值。

目录

前言

一、搭建环境

二、闯关啦~

1.HTML Injection - Reflected (GET)

Low级别

Medium级别

High级别

2.HTML Injection - Reflected (POST)

3.HTML Injection - Reflected (URL)

Low级别

 Medium级别

High级别

 4.HTML Injection - Stored (Blog)

Low级别

medium级别

High级别

5.iFrame Injection

 Low级别

 medium级别

High级别

总结



前言

小🐏的第一篇博客新鲜出炉啦~

bWAPP是一个很全且很受欢迎的靶场 很多师傅强推&最近超喜欢玩靶场 就来玩玩呐~

bWAPP特点:

  • 开源的php应用
  • 后台mysql数据库
  • 可运行在Linux/Windows Apache/IIS
  • 支持WAMP或者XAMPP

一、搭建环境

网盘链接:bWAPP
提取码:d77g

下载好后在 WWW\\bWAPP\\admin\\settings.php  中配置数据库

不知道为啥我的 settings.php 为只读文件 然后我就将mysql数据库密码改为bug啦(懒羊羊再现)

进入127.0.0.1/bWAPP/install.php  点击 here 创建bWAPP数据库 否则就会报错呐~

 接着登录吧!(●'◡'●) 127.0.0.1/bWAPP/login.php

用户名:bee 密码:bug

接下来就开始进入关卡闯关啦~



二、闯关啦~



1.html Injection - Reflected (GET)

HTML injection && XSS
在XSS攻击期间,攻击者有机会注入并执行javascript代码,而HTML注入只是使用HTML标签修改页面内容。

Low级别

直接在First name&&Last name中进行xss注入

<script>alert('xiao')</script>  <script>alert('yang)</script>

就可以有弹窗呐~

 


Medium级别

尝试用low的方式结果出错了 用bp进行抓包发现'<' '>'被转码了 
functions_external.php可以看见源码 发现过滤方式为urlcode()函数  

urlcode()函数--- 将'<''>'尖括号转义为实体

经过url转码后 方可出现弹窗

%3cscript%3Ealert('xiao')%3C%2Fscript%3E   %3cscript%3Ealert('yang')%3C%2Fscript%3E   

High级别

过滤方式是htmlentities()函数。(全都编码了 绕不过呀~)

htmlentities()函数--- 将字符转换为 HTML 实体

2.HTML Injection - Reflected (POST)

 the same as GET

3.HTML Injection - Reflected (URL)

Low级别

打开页面 发现url后面可以随便接 加上参数 a=

对参数a进行xss 发现'<''>'被转码了 进行抓包 更改参数a的值

forward 发现出现弹窗 

 Medium级别

查看源码

document对象 :代表整个HTML 文档,可用来访问页面中的所有元素(document.write)document.URL:设置URL属性从而在同一窗口打开另一网页
document.write():动态向页面写入内容

用之前的HTML编码的语句结果还是不行那么二次编码?还是不行
第一次的时候用low的方法发现不起作用 第二次可以了?(o|o) 

High级别

查看源码

 

 使用了htmlspecialchars()函数

htmlspecialchars()函数 -- 会把预定义的字符(&,',",<,>)转换为 HTML 实体

无法绕过

 4.HTML Injection - Stored (Blog)

Low级别

直接注入 

medium级别

 查看源码

 addslashes() 函数-- 返回在预定义字符之前添加反斜杠的字符串

 如果是sql注入还可以进行宽字节注入但是html注入不可以。

直接试 fine~ 

High级别

查看源码

htmlspecialchars()函数-- 会把预定义的字符(&,',",<,>)转换为 HTML 实体 无法绕过

5.iFrame Injection

iframe:在当前页面可以显示别的页面内容的技术

 Low级别

没有对参数进行过滤,可以控制 Param 参数的值

a.查看phpinfo.php文件

ParamUrl=../../../phpinfo.php&ParamWidth=500&ParamHeight=500


b.尝试xss

ParamUrl="></iframe><script>alert('yang')</script><ifram&ParamWidth=500&ParamHeight=500

"> 用来闭合

 c.跳至百度页面

 medium级别

查看源码

 

addslashes会在数据库查询中需要引用的字符< ',",\\ >前返回一个反斜杠字符串

可以看出不能控制paramurl的输入,所以只能通过控制ParamHeight和ParamWidth来实现注入
闭合绕过:

ParamUrl=robots.txt&ParamWidth=250"></iframe><script>alert(/yang/)</script>&ParamHeight=250

High级别

htmlspecialchars()函数-- 会把预定义的字符(&,',",<,>)转换为 HTML 实体 无法绕过


总结

 原谅不喜欢用 , 。の小🐏 下篇见啦~ 欢迎大佬指正呐~

参考文章:这位师傅是大佬呐~多学习!

以上是关于bWAPP闯关系列(搭建+HTML Injection)~的主要内容,如果未能解决你的问题,请参考以下文章

centos安装bWAPP环境

bWAPP----HTML Injection - Stored (Blog)

跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击

bWAPP--low--HTML Injection - Reflected (GET)

bwapp 中的 SQL 注入

跟bWAPP学WEB安全(PHP代码)--邮件头和LDAP注入