【bWAPP】 HTML Injection (HTML注入)

我们都是在一条铺满荆棘的新路上摸索着前行,碰个鼻青眼肿几乎不可避免,而问题在于,我们能不能在这条路上跌倒之后,爬起来继续走下去。

HTML Injection - Reflected (GET)

get方式的html代码注入

漏洞url:http://range.anhunsec.cn:82/htmli_get.php

Level: low

低级漏洞中,输入数据没有做校验,不经任何处理地接受用户数据

输入payload:

First name:

hello

Last name:

test

在这里插入图片描述

或者输入payload:

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

可跳转到百度页面

在这里插入图片描述

或者输入payload:<script>document.write(document.URL)</script>

document对象 :代表整个HTML 文档,可用来访问页面中的所有元素

document.URL:设置URL属性从而在同一窗口打开另一网页

document.write():动态向页面写入内容

在这里插入图片描述

或者输入payload:<script>alert(document.cookie)</script>,弹cookie

在这里插入图片描述

或者输入payload:<script>alert(/xss/)</script>,弹xss

在这里插入图片描述

Level: medium

输入low级别的payload:<script>alert(/xss/)</script>,发现被全部显示

在这里插入图片描述

抓包,会发现/)<符号均被编码

在这里插入图片描述

0,1,2分别对应三个等级,可以查找对应的/bWAPP/bwapp/htmli_get.php文件,三个等级分别要进行不同的检测

在这里插入图片描述

中级漏洞中,黑名单机制,转义了部分危险数据

在这里插入图片描述

这里使用了urldecode函数,对字符串进行URL解码,返回的是已解码的字符串

所以可以在输入框输入编码后的代码,可以通过URL编码绕过

First name: %3Ch1%3Ehello%3C/h1%3E

Last name: %3Ch1%3Eworld%3C/h1%3E

在这里插入图片描述

输入部分转义数据,payload为:

%3ca+href%3d%27https%3a%2f%2fwww.baidu.com%27%3ebaidu%3c%2fa%3e

在这里插入图片描述

Level: high

输入medium级别的payload:%3ca+href%3d%27https%3a%2f%2fwww.baidu.com%27%3ebaidu%3c%2fa%3e,发现被全部显示

在这里插入图片描述

高级漏洞中,使用了htmlspecialchars()函数过滤,把预定义的字符&," ,’ ,<,> 转换为 HTML 实体,是安全的,输入的代码没有被执行, 不可绕过

在这里插入图片描述

HTML Injection - Reflected (POST)

漏洞url:http://range.anhunsec.cn:82/htmli_post.php

操作同HTML Injection - Reflected (GET)一样,只不过是成了post方式。

输入payload:

First name:

hello

Last name:

test

在这里插入图片描述

得到这样的结果

在这里插入图片描述

HTML Injection - Reflected (Current URL )

漏洞url:http://range.anhunsec.cn:82/htmli_current_url.php

Level: low

正常情况下显示如下

在这里插入图片描述

由于url中输入自动转义成urlcode,在burp中还原成原始字符即可

构造url:http://range.anhunsec.cn:82/htmli_current_url.php?a=<script>alert('xss')</script>

在这里插入图片描述

burp抓包,将编码部分改成正常的

在这里插入图片描述

会看到弹出xss

在这里插入图片描述

Level:medium&high

尝试抓包修改为正常的并不能成功

在这里插入图片描述

查看源码

在这里插入图片描述

找到htmli_ current_ url.php文件后,发现这样的一段代码,发现在case"2"时要进行xss_check_3的检测

(xss_check_3见HTML Injection - Reflected (GET)的high级别)

在这里插入图片描述

HTML Injection - Stored (Blog)

漏洞url:http://range.anhunsec.cn:82/htmli_stored.php

Level:low

在这里插入图片描述

发现有输入框,尝试一下xss注入,输入payload:<script>alert(/xss/)</script>,弹xss

在这里插入图片描述

Level:medium

在这里插入图片描述

这次虽然显示已经添加,但是并没有弹窗,看源码

在这里插入图片描述

可以看到case"1"或case"2"都要进行sqli_check_3检测

function sqli_check_3($link, $data)
{  
    return mysqli_real_escape_string($link, $data);
}

PHP中的mysqli_real_escape_string()函数就是要转义在SQL语句中使用的字符串中的特殊字符

iFrame Injection

漏洞url:http://range.anhunsec.cn:82/iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250

iframe是可用于在HTML页面中嵌入一些文件(如文档,视频等)的一项技术。对iframe最简单的解释就是“iframe是一个可以在当前页面中显示其它页面内容的技术”

通过利用iframe标签对网站页面进行注入,是利用了HTML标签,实际上就是一个阅读器,可以阅读通过协议加载的活服务器本地的文件、视频等

Level:low

在这里插入图片描述

我们这里发现,它包含了一个robots.txt的文件,我们试试其他的

构造url:ParamUrl=…/admin/phpinfo.php&ParamWidth=250&ParamHeight=250

在这里插入图片描述

查看源码

在这里插入图片描述

没有对参数进行过滤,可以控制param标签的输入,构造url:ParamUrl=https://www.baidu.com&ParamWidth=250&ParamHeight=250

在这里插入图片描述

Level:medium

查看源码

function xss_check_4($data)
{
  
    // addslashes - returns a string with backslashes before characters that need to be quoted in database queries etc.
    // These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).
    // Do NOT use this for XSS or HTML validations!!!
    
    return addslashes($data);
    
}

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

大体意思就是addslashes会在数据库查询中需要引用的字符(’,",\)前返回一个反斜杠字符串进行构造

构造url:ParamUrl=robots.txt&ParamWidth=250"></iframe><script>alert(/xss/)</script>&ParamHeight=250

在这里插入图片描述

Level:high

查看源码

function xss_check_3($data, $encoding = "UTF-8")
{

    // htmlspecialchars - converts special characters to HTML entities    
    // '&' (ampersand) becomes '&amp;' 
    // '"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set
    // "'" (single quote) becomes '&#039;' (or &apos;) only when ENT_QUOTES is set
    // '<' (less than) becomes '&lt;'
    // '>' (greater than) becomes '&gt;'  
    
    return htmlspecialchars($data, ENT_QUOTES, $encoding);
       
}

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

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

CSDN: 
https://rdyx0.blog.csdn.net/

公众号:儒道易行
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/936594.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

内网是如何访问到互联网的(华为源NAT)

私网地址如何能够访问到公网的&#xff1f; 在上一篇中&#xff0c;我们用任意一个内网的终端都能访问到百度的服务器&#xff0c;但是这是我们在互联网设备上面做了回程路由才实现的&#xff0c;在实际中&#xff0c;之前也说过运营商是不会写任何路由过来的&#xff0c;那对于…

tomcat的优化和动静分离

tomcat的优化 1.tomcat的配置优化 2.操作系统的内核优化 注意&#xff1a;设置保存后&#xff0c;需要重新ssh连接才会看到配置更改的变化 vim /etc/security/limits.conf # 65535 为Linux系统最大打开文件数 * soft nproc 65535 * hard nproc 65535 * soft nofile 65535 *…

粗略的过一下StableDiffusion3的一些方面

什么是Stable Diffusion 3 Stable Diffusion 3是由Stability AI开发的最新且最先进的文本生成图像模型之一&#xff0c;在图像保真度、多主体处理和文本遵循性方面实现了显著提升。该模型采用了全新的多模态扩散变压器&#xff08;MMDiT&#xff09;架构&#xff0c;并为图像和…

测试工程师八股文04|计算机网络 和 其他

一、计算机网络 1、http和https的区别 HTTP和HTTPS是用于在互联网上传输数据的协议。它们都是应用层协议&#xff0c;建立在TCP/IP协议栈之上&#xff0c;用于客户端&#xff08;如浏览器&#xff09;和服务器之间的通信。 ①http和https的主要区别在于安全性。http是一种明…

doxygen–自动生成文档工具

原文地址&#xff1a;doxygen–自动生成文档工具 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 简介 doxygen是软件开发中广泛使用的文档生成工具。它可以从源代码注释中自动生成文档&#xff0c;解析类、函数、参数相关信息&#xff0c;并生…

ElasticSearch04-高级操作

零、文章目录 ElasticSearch04-高级操作 1、文档添加 &#xff08;1&#xff09;生成文档ID 不指定 ID&#xff0c;即自动生成ID&#xff0c;ID 是一行数据的唯一键。语法&#xff1a;POST /index/_doc # 创建索引 PUT testid# 默认情况下自动生成ID POST /testid/_doc {&…

【GitHub分享】you-get项目

【GitHub分享】you-get 一、介绍二、安装教程三、使用教程四、配置ffmpeg五&#xff0c;卸载 如果大家想要更具体地操作可去开源网站查看手册&#xff0c;这里只是一些简单介绍&#xff0c;但是也够用一般&#xff0c;有什么问题&#xff0c;也可以留言。 一、介绍 you-get是一…

Polars数据聚合与旋转实战教程

在这篇博文中&#xff0c;我们的目标是解决数据爱好者提出的一个常见问题&#xff1a;如何有效地从Polars DataFrame中创建汇总视图&#xff0c;以便在不同时间段或类别之间轻松进行比较。我们将使用一个实际的数据集示例来探索实现这一目标的各种方法。 Polars简介 Polars 是…

ECharts柱状图-柱图2,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个柱状图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供…

Oracle进行exp导出密码中有特殊字符报EXP-00056和ORA-12154错处理

今天&#xff0c;业务人员反馈&#xff0c;在本地进行exp导出时报错&#xff0c;报错内容如下&#xff1a; 在Oracle密码中有特殊字符时&#xff0c;需要加引号&#xff0c;但引号怎么加呢&#xff1f;总结如下&#xff1a; 1、在windows系统中 exp 用户名/“““密码”””n…

解决没法docker pull问题

没想到国内源死差不多了&#xff0c;以下内容需要提前科学上网 su cd /etc/systemd/system/docker.service.d vim proxy.conf 参照下图修改&#xff0c;代理服务器改成你自己的。 ​​[Service] Environment"HTTP_PROXYsocks5://192.168.176.180:10810" Environment&…

LeNet-5:深度学习与卷积神经网络的里程碑

目录 ​编辑 引言 LeNet-5的结构与原理 输入层 C1层&#xff1a;卷积层 S2层&#xff1a;池化层 C3层&#xff1a;卷积层 S4层&#xff1a;池化层 C5层&#xff1a;卷积层 F6层&#xff1a;全连接层 输出层 LeNet-5的算法基础 LeNet-5的优点 LeNet-5的现代应用 …

JavaFX使用jfoenix的UI控件

jfoenix还是一个不错的样式&#xff0c;推荐使用&#xff0c;而且也可以支持scene builder中的拖拖拽拽 需要注意的是过高的javafx版本可能会使得某些样式或控件无法使用 比如alert控件&#xff0c;亲测javaFX 19版本可以正常使用 1.在pom.xml中引入依赖 GitHub地址https://gi…

VMware Workstation Pro 17 下载 以及 安装 Ubuntu 20.04.6 Ubuntu 启用 root 登录

1、个人免费版本 VMware Workstation Pro 17 下载链接怎么找&#xff1f;直接咕咕 VMware 找到如下链接。链接如下&#xff1a;Workstation 和 Fusion 对个人使用完全免费&#xff0c;企业许可转向订阅 - VMware 中文博客 点进去链接之后你会看到如下&#xff0c;注意安装之后仍…

6.2 Postman接口收发包

欢迎大家订阅【软件测试】 专栏&#xff0c;开启你的软件测试学习之旅&#xff01; 文章目录 前言1 接口收发包的类比1.1 获取对方地址&#xff08;填写接口URL&#xff09;1.2 选择快递公司&#xff08;设置HTTP方法&#xff09;1.3 填写快递单&#xff08;设置请求头域&#…

STM32标准库学习之寄存器方法点亮LED灯

STM32C8T6最小系统开发板&#xff0c;点亮PC13引脚的LED灯 1.使能PC13引脚的定时器 PC13引脚为GPIOC组的第13个端口&#xff0c;GPIO的时钟使能定时器为RCC_APB2ENR&#xff0c;这是可以从手册中得出的&#xff0c;如下图所示 从下图可以得出&#xff0c;若要使能GPIOC端口&a…

【Azure 架构师学习笔记】- Azure Function (1) --环境搭建和背景介绍

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Function 】系列。 前言 随着无服务计算的兴起和大数据环境中的数据集成需求&#xff0c; 需要使用某些轻量级的服务&#xff0c;来实现一些简单操作。因此Azure Function就成了微软云上的一个必不可少的组成部分。 …

深度学习:基于MindSpore的极简风大模型微调

什么是PEFT&#xff1f;What is PEFT&#xff1f; PEFT(Parameter Efficient Fine-Tuning)是一系列让大规模预训练模型高效适应于新任务或新数据集的技术。 PEFT在保持大部分模型权重冻结&#xff0c;只修改或添加一小部份参数。这种方法极大得减少了计算量和存储开销&#x…

【蓝桥杯每日一题】推导部分和——带权并查集

推导部分和 2024-12-11 蓝桥杯每日一题 推导部分和 带权并查集 题目大意 对于一个长度为 ( N ) 的整数数列 ( A 1 , A 2 , ⋯ , A N A_1, A_2, \cdots, A_N A1​,A2​,⋯,AN​ )&#xff0c;小蓝想知道下标 ( l ) 到 ( r ) 的部分和 ∑ i l r A i A l A l 1 ⋯ A r \su…

bug:uniapp运行到微信开发者工具 白屏 页面空白

1、没有报错信息 2、预览和真机调试都能正常显示&#xff0c;说明代码没错 3、微信开发者工具版本已经是win7能装的最高版本了&#xff0c;1.05版 链接 不打算回滚旧版本 4、解决&#xff1a;最后改调试基础库为2.25.4解决了&#xff0c;使用更高版本的都会报错&#xff0c;所…