返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >XSS之htmlspecialchars
  • 902
分享到

XSS之htmlspecialchars

html5javascript服务器前端php 2023-09-09 14:09:20 902人浏览 安东尼
摘要

1.htmlspecialchars的用法 1.1说明 htmlspecialchars( string $string, int $flags = ENT_COMPAT | ENT_HT

1.htmlspecialchars的用法

1.1说明

htmlspecialchars(    string $string,    int $flags = ENT_COMPAT | ENT_HTML401,    string $encoding = ini_get("default_charset"),    bool $double_encode = true): string

1.string:
待转换的 string。

2. flag:
位掩码,由以下某个或多个标记组成,设置转义处理细节、无效单元序列、文档类型。 默认是 ENT_COMPAT | ENT_HTML401。
在这里插入图片描述
3. encoding:
本函数使用效果上,如果 string 对以下字符编码是有效的, ISO-8859-1、 ISO-8859-15、 UTF-8、 cp866、 cp1251、 cp1252、 KOI8-R 将具有相同的效果。 也就是说,在这些编码里, 受 htmlspecialchars() 影响的字符会占据相同的位置。

支持以下字符集:
在这里插入图片描述

注意:其他字符集没有认可。将会使用默认编码并抛出异常。

4. double_encode:

关闭 double_encode 时,PHP 不会转换现有的 HTML 实体, 默认是全部转换。

2.用法

总的来说,就是把字符串转换成一串编码,类似于JS编码转换和url编码转换
如下所示:

php$str = '<>a sdd\'"';echo htmlspecialchars($str, ENT_QUOTES) . PHP_EOL;echo htmlentities($str);

上面这串代码会把字符串<>a sdd\'"转换成<>a sdd'" <>a sdd'";

2.htmlspecialchars和XSS漏洞的关联

$str = '<>a sdd\'"';echo htmlspecialchars($str, ENT_QUOTES) . PHP_EOL;echo htmlentities($str);

运行如上这串代码,你就会发现htmlspecialchars的用法:

  • 如下1:(这是编辑器的输出结果)
    在这里插入图片描述
  • 如下2: (这是浏览器的输出结果)

在这里插入图片描述

浏览器和编辑器的运行结果不一样,原因是这样的,为了避免XSS漏洞的注入,可以把要输出的字符串先进行相应的编码,这样就不会运行脚本语句,但是浏览器又会将相应的编码进行转换,使用我们看到的和原来输出的一模一样。

3.如何绕过htmlspecialchars进行注入了

俗话说的好,不了解攻击如何进行防御了,对吧,所以我们马上进入实战

<!DOCTYPE html><!--STATUS OK--><html><head><meta Http-equiv="content-type" content="text/html;charset=utf-8"></script></head><body><?php ini_set("display_errors", 0);$str = $_GET["keyWord"];echo "

没有找到和".htmlspecialchars($str)."相关的结果.

"
.'
.$str.'">
'
;?><?php echo "

payload的长度:".strlen($str)."

"
;?></body></html>

可以把如上代码运行进行XSS注入实验,如上实验是比较困难的一种,所以我们先进行如下比较简单的一种,再来学习上面的一种,代码如下:

 $name = $_GET["name"];$name_new = htmlspecialchars($name);?><fORM action="" method="get"><input type='text' value='' name="name"><button>提交</button></form>

由于,输出在标签里面,所以不用担心><号的过滤问题,又htmlspecialchars($name)没有设置任何参数,所以是不过滤单引号的,所以使用如下语句:
' onmouseover='javascript:alert(1):前面的一个单引号让 value='形成闭合,然后再输出 onmouseover='javascript:alert(1)'我们构造语句一定要正确,否则不执行CSS

接下来讨论比较难的,如果我们只看htmlspecialchars($str),这个题我们一辈子都做不出来,因为,只要我们输入脚本,就会被转义,下面还有一个突破点:
$str,输入">进行了

来源地址:https://blog.csdn.net/qq_53568983/article/details/127184182

--结束END--

本文标题: XSS之htmlspecialchars

本文链接: https://lsjlt.com/news/401578.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • XSS之htmlspecialchars
    1.htmlspecialchars的用法 1.1说明 htmlspecialchars( string $string, int $flags = ENT_COMPAT | ENT_HT...
    99+
    2023-09-09
    html5 javascript 服务器 前端 php
  • XSS挑战之旅1-10关
    文章目录 前言第1关第2关第3关第4关第5关第6关第7关第8关第9关第10关 前言 漏洞介绍:XSS漏洞 参考文章:XSS挑战之旅 游戏规则:触发alert(...
    99+
    2023-10-12
    xss php web安全
  • PHP中如何使用htmlspecialchars 字符串函数
    PHP中如何使用htmlspecialchars 字符串函数,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。定义和用法htmlspecialchars - 将特殊字...
    99+
    2023-06-04
  • 黑客的噩梦:JavaScript XSS 防御之墙
    ...
    99+
    2024-04-02
  • XSS-Lab(XSS注入笔记1-16)
    前言 本篇博客主要是记录笔者完成XSS-Lab步骤以及分析 题目链接:https://buuoj.cn/challenges Github仓库:https://github.com/rebo-rn/x...
    99+
    2023-08-31
    xss php 安全 web安全 ctf
  • CSRF与XSS
    Wordpress(低版本)与XSSer 复现过程 首先在虚拟机上搭建wordpress 在wordpress的管理用户界面,可以看到只有admin一个用户 ...
    99+
    2024-04-02
  • DOM型XSS
    >DOM型XSS与之前两种在原理上有本质区别,它的攻击代码并不需要服务器解析响应,触发XSS靠的是浏览器端的DOM解析。客户端上的JavaScript脚本可以直接访问浏览器的DOM并修改页面的内容。在客户端直接输出DOM内容的时候极易触发D...
    99+
    2023-09-16
    javascript 前端 php
  • DVWA------XSS(全)
    目录 一、XSS https://blog.csdn.net/m0_65712192/article/details/1.简介 2.XSS的原理 3.XSS的攻击方式 4.XSS的危害 5.常见XSS攻击方式 6.常见基本过滤方法 7.XS...
    99+
    2023-08-31
    安全 web安全 xss php 服务器
  • 详解前端安全之JavaScript防http劫持与XSS
    目录HTTP劫持、DNS劫持与XSSHTTP劫持DNS劫持XSS跨站脚本页面被嵌入 iframe 中,重定向 iframe使用白名单放行正常 iframe 嵌套更改 URL 参数绕过...
    99+
    2024-04-02
  • ctfshow XSS web316~web333
    web316 反射性 XSS 题目提示我们要以 admin 获取 奇葩的是用网上的 xss 平台,获取的 cookie 全是自己的。 可以在自己的服务器上,创建一个接收 cookie 的 PHP 文...
    99+
    2023-09-07
    xss
  • Pikachu——Xss钓鱼
    概述 1、XSS就是攻击者在web页面插入恶意的Script代码,当用户浏览该页面时,嵌入其中的js代码会被执行,从而达到恶意攻击的目的。 XSS是一种发生在web前端的漏洞,所以其危害的对象也主要是...
    99+
    2023-09-07
    xss php web安全
  • 初识 XSS 3
    XSS长期被列为web 安全的大敌,那么什么是 Xss 呢?看如下列子:1:php 页面:<php $input=$_GET["param"]; echo "<div>".$input."</...
    99+
    2023-01-31
    XSS
  • 穿透PHP的XSS之盾:防范恶意脚本入侵
    ...
    99+
    2024-04-02
  • 了解PHP中的htmlspecialchars()函数用于转义HTML特殊字符
    了解PHP中的htmlspecialchars()函数用于转义HTML特殊字符PHP中的htmlspecialchars()函数是一种常用的字符串处理函数,用于将HTML特殊字符转换为对应的实体。这样做的目的是为了避免在HTML页面中出现语...
    99+
    2023-11-18
    PHP 转义 htmlspecialchars()
  • [xss-3]httponly绕过
    什么是HttpOnly HttpOnly是包含在http返回头Set-Cookie里面的一个附加的flag,所以它是后端服务器对cookie设置的一个附加的属性,在生成cookie时使用HttpOnl...
    99+
    2023-09-02
    web web安全
  • xss(跨站攻击)
    一、XSS 漏洞简介 ​ XSS又叫CSS(Cross Site Script)跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的...
    99+
    2023-09-02
    php java Powered by 金山文档
  • XSS-labs(小手手)
    安装xss-labs文件到php目录下的www文件夹下 xss-labs level https://blog.csdn.net/xueyuel/article/details/1 二话不说先看下网页...
    99+
    2023-09-14
    xss php 前端 网络安全
  • 什么是XSS攻击
    XSS攻击是利用网页漏洞注入恶意指令代码到网页,当用户访问该页面时,嵌入的恶意脚本代码开始执行,达到恶意攻击用户的目的。这些恶意网页程序可能是JavaScript、VBScript、Flash、HTML等等。攻击成功后,攻击者会得到网页权限...
    99+
    2024-04-02
  • PHP中的XSS攻击
    近年来,随着互联网信息技术的迅猛发展,我们的生活越来越离不开网络。而网络与我们日常生活的交互,离不开大量的代码编写、传输以及处理。而这些代码,需要我们保护它们安全,否则,恶意攻击者会利用它们发动各种攻击。其中的一种攻击就是XSS攻击。在本文...
    99+
    2023-05-23
    攻击 PHP xss
  • tp5如何防xss攻击
    tp5防xss攻击的方法:在公共函数文件common.php中加入以下方法:function filter_default($value){return htmlspecialchars($value, ENT_NOQUOTES);}在配置...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作