0x00 知识储备

HTML注入,就是当用户进行输入时,服务器没有对用户输入的数据进行过滤或转义,导致所有输入均被返回前端,网页解析器会将这些数据当作html代码进行解析,这就导致一些恶意代码会被正常执行。

0x01 Low

首先输入1和1测试一下

发现结果正常出现在页面上,直接试一试XSS

<script>alert(1)</script>1

还可以尝试超链接

<a href="http://www.baidu.com">111</a>

点击111即可完成跳转

源码分析:

可以看到没有任何处理

0x02 Medium

分析源码,可以看到,源码首先将<,>替换成字符实体(这是因为这些字符在HTML中有特殊含义,所以要想在文本中使用它们我们就需要使用字符实体),同时利用了urldecode进行解码,也就是对于我们输入的信息,应该是进行了两次url解码(一次是浏览器对输入数据打包传送给后端时,第二次是后端的url解码)

所以只需要将要输入的代码进行两次url编码即可,url解码地址:http://www.jsons.cn/urlencode/

但是这时直接在输入框中输入两次url编码的结果发现和预期结果不同!!!

观察结果,发现 显示的First name是代码进行一次url编码的结果。原因是输入框输入数据后,GET请求将参数输入到url地址栏时会进行一次url转码,所以此时地址栏显示的是代码三次编码后的结果,这样传入后端时,浏览器解码一次,后端再解码一次,显示出来的结果就是一次编码的结果。所以如果在输入框输入时我们只需要输入一次编码的结果即可,而在地址栏中输入时需要输入两次编码的结果。

执行成功,点击click即可跳转

0x03 High

分析源码

htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 &lt; 和 &gt; 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。 此时无法再进行HTML注入。

第一次写博客,写的不对或者不好的地方希望大佬们指出:)

BWAPP靶场-HTML injection-Reflected(GET)相关推荐

  1. 网络安全入门篇:bwapp靶场通关(更新ing)

    A1 -Injection HTML Injection - Reflected(GET) low 级别 low级别意味着没有任何检查输入·<h1>This is a test</h ...

  2. bWAPP靶场漏洞环境搭建Docker版

    bWAPP靶场漏洞环境搭建Docker版 项目地址 官方网站:http://www.itsecgames.com/ 文件下载:https://sourceforge.net/projects/bwap ...

  3. bWAPP靶场——下载与安装(Windows最全)

    下载地址 GitHub下载:https://github.com/raesene/bWAPP 其他网址:https://nchc.dl.sourceforge.net/project/bwapp/bW ...

  4. bWAPP靶场搭建——直接使用虚拟机镜像导入配置

    一.bWAPP简介 bwapp是一款非常好用的免费的.开源漏洞演示学习平台;它有100多个网络错误!且它涵盖了所有已知的主要web漏洞,包括OWASP Top 10项目的所有风险. bWAPP是一个使 ...

  5. bWAPP靶场之OS Command Injection(+Blind)

    一.普通注入 0x00 练习过程 核心代码 <?phpif(isset($_POST["target"])){$target = $_POST["target&qu ...

  6. bwapp靶场笔记 -SQL注入篇

    ​ 启动靶场 crabin@crabin-virtual-machine:~$ docker run -dt -p 9999:80 8be28fba48ec crabin@crabin-virtual ...

  7. 搭建BWAPP靶场(详细过程)

    靶场介绍 bwapp是一款非常好用的漏洞演示平台,目的是帮助网络安全爱好者.开发人员和学生发现并防止网络漏洞.包含有100多个漏洞,涵盖了所有主要的已知Web漏洞,包括OWASP Top10安全风险, ...

  8. SQL注入-bWAPP靶场-时间盲注

    时间盲注步骤: 准备攻击:首先,攻击者需要准备攻击工具,如Burp Suite等. 构造查询:攻击者将构造出一个查询请求,该请求的结果可以通过询问数据库的响应时间来推断. 发送请求:攻击者将构造的请求 ...

  9. BWAPP靶场-HTML injection-Reflected(POST)

    0x00分析 测试过程中要注意GET请求与POST请求的不同,注意传入参数方式,其他部分与GET请求部分基本相同 0x01 LOW 源码: 没有进行过滤,随便测试一下 firstname输入 < ...

最新文章

  1. (2016北京集训十)【xsy1529】小Q与进位制 - 分治FFT
  2. 开源 | 蚂蚁金服分布式中间件开源第二弹:丰富微服务架构体系
  3. 解析python数据后用html输出
  4. ESP32 flash容量配置
  5. jmeter 生成计数器_使用密码摘要生成器扩展JMeter
  6. django-学生列表页的制作
  7. 本地部署Bootstrap3
  8. [过年菜谱之]红烧甲鱼
  9. 可口可乐造型设计_可口可乐推出黑科技音响,还能当冰箱用?
  10. 毕业之际,个人学习感言和收获
  11. RocketMQ报错:MQClientException:no route info of this topic的解决
  12. KafkStream架构
  13. C语言 猴子吃桃的问题 猴子第一天摘下若干个桃子,当即吃了一半,又多吃了一个。 第二天早上将剩下的桃子吃一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时只剩下一个桃子
  14. PHP获取用户的真实ip地址
  15. 软文标题怎么写?这8种标题写法你用对了吗
  16. 大数据与人工智能实验室【2022-05-08】
  17. 针对韩国开展的一系列韩文类恶意文档定向攻击行动分析 part-1
  18. 学习笔记(77):R语言入门基础-判断逻辑
  19. vue表格实现固定表头首列
  20. python turtle 画动漫人物_python之turtle使用:画一颗美美哒的树

热门文章

  1. 实验三+163+张玉洁
  2. Java燕山大学_GitHub - jiajiayao/YsuSelfStudy: 燕山大学空教室查询及教务辅助系统,中国大学生计算机设计大赛省赛三等奖,已上架小米应用商店...
  3. java心跳监控服务_JavaHeartBeat-应用服务器心跳检测
  4. notification源码分析_状态栏通知Notification、NotificationManager详解(源码)----转载...
  5. 100-数据结构与算法(下篇)
  6. php在线查毒,linux clamav 免费查毒工具
  7. Windows Server 2016之RDS部署之添加RD虚拟化主机
  8. mysql不识别生僻字_MySQL生僻字插入失败怎样办
  9. java电信移动联通api_移动联通基站定位API以及电信基站定位API
  10. 计算机社团教学活动总结感悟,社团活动收获与感悟【四篇】