热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2Web安全——浅谈XSS漏洞绕过之XSS挑战通关

目录1.绕过input标签2.input框onclick事件绕过3.白名单绕过4.href属性绕过5.双写法绕过6.html实体编码7.注释符号绕过上一篇通过一个小案

目录

1. 绕过input标签

2. input框onclick事件绕过

3. 白名单绕过

4. href属性绕过

5. 双写法绕过

6. html实体编码

7. 注释符号绕过



 

上一篇通过一个小案例了解了XSS漏洞的基本原理,危害程度以及漏洞产生的原因,本篇将通过一个示例来了解XSS漏洞的利用思路和绕过方法。

 


1. 绕过input标签

直接在搜索框中插入js代码,后台完全把我们输入的代码用引号括起来当做字符串处理了,在绕过过程中需要把引号闭合掉,插入js代码绕过input框,最终构造的代码如下:

">"

前面的双引号和尖括号是为了把之前的">符号闭合掉,从而使插入的js代码绕过input框。

 

测试结果:

js代码最终成功绕过input框

 

 


2. input框onclick事件绕过

后台对输入的



欢迎来到level3
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "

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

"."


str变量存储的就是输入的XSS代码,但tmlspecialchars函数将XSS代码中的特殊符号(<,",>)给过滤了。这里有一个坑要注意:其实input框中的value是单引号进行闭合的。

 

 

那么可以利用input框的onclick点击事件来进行绕过,同时对单引号进行闭合,构造XSS代码如下:

&#39; Onclick=alert(123) &#39;

由于后台把



欢迎来到level6
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str2=str_replace("$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
echo "

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

".&#39;



后台源代码中定义了一堆过滤的规则,由于PHP对于大小写不敏感,我们可以把href标签使用大小写的方式进行绕过。

 

现在改变一下思路,用大小写的方法改写href属性:

a">

 


5. 双写法绕过

在level7中的地址搜索栏插入JS代码:"> a,后台把代码进行了替换:

a">

 

分析level7部分关键代码:




欢迎来到level7
ini_set("display_errors", 0);
$str =strtolower( $_GET["keyword"]);
$str2=str_replace("script","",$str);
$str3=str_replace("on","",$str2);
$str4=str_replace("src","",$str3);
$str5=str_replace("data","",$str4);
$str6=str_replace("href","",$str5);
echo "

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

".&#39;




level7中过滤还是用的str_replace函数,在构造payload的时候只需要对script和href标签使用双写法绕过即可。

 

构造XSS代码如下:

"> a

 

 


6. html实体编码

 

对于之前的绕过方法,在level8中都无法使用成功了:

后台对于之前所有的绕过方法都无法使用了,现在我们需要换一种思路,使用html编码的方式,也就是在JS代码中加入html编码,例如对于Javascript关键字,我们可以把字母c替换成html编码&#67; 最终构造的payload是这样的:

javas&#67;ript:alert()

 

 

注意:是把JS代码插入input框中(如果放在URL地址栏中,系统会对html编码做特殊处理,导致插入的JS代码无法执行),但是后台在处理代码实际上是这样的:


友情链接

 

点击添加友情链接后,然后点击友情链接就会看到alert弹窗:

 

 


7. 注释符号绕过

 

直接插入JS代码Javascript alert();的话,后台页面将会对代码进行过滤:


友情链接

如果我们在JS代码后面跟上url链接的话,后台虽然不会过滤,但是这并不符合JS语法,并且对于Javascript用下划线进行了过滤:

 

 

我们可以通过JS语法中的注释符号和html实体编码方式把后面的url链接都给注释掉:


友情链接

后台执行结果:

成功绕过后台的过滤。

 


推荐阅读
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 如何撰写PHP电商项目的实战经验? ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 近期,针对Axis2默认凭据漏洞的攻击案例在安全社区引起了广泛关注。这些攻击通常利用Axis2的默认用户名和密码进行渗透测试,技术手段相对固定。本文在综合分析多个案例的基础上,详细探讨了该漏洞的安全风险,并提出了有效的防范措施,以帮助企业和开发者加强Web服务的安全防护。 ... [详细]
  • 近期,微信公众平台上的HTML5游戏引起了广泛讨论,预示着HTML5游戏将迎来新的发展机遇。磊友科技的赵霏,作为一名HTML5技术的倡导者,分享了他在微信平台上开发HTML5游戏的经验和见解。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 成都服务器租赁适用于哪些网站业务部署——Vecloud专业解析
    成都,作为四川省的省会,不仅是西南地区唯一的副省级城市,也是国家重要的高新技术产业基地和商贸物流中心。Vecloud专业解析指出,成都服务器租赁服务特别适合各类网站业务的部署,尤其是需要高效、稳定和安全的在线应用。无论是电子商务平台、内容管理系统还是大数据分析,成都的服务器租赁都能提供强大的支持,满足不同企业的需求。 ... [详细]
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • 微信小程序实现类似微博的无限回复功能,内置云开发数据库支持
    本文详细介绍了如何利用微信小程序实现类似于微博的无限回复功能,并充分利用了微信云开发的数据库支持。文中不仅提供了关键代码片段,还包含了完整的页面代码,方便开发者按需使用。此外,HTML页面中包含了一些示例图片,开发者可以根据个人喜好进行替换。文章还将展示详细的数据库结构设计,帮助读者更好地理解和实现这一功能。 ... [详细]
  • 发布时间:2010-07-27 影响版本:Internet Explorer 6 和 7 测试环境:Windows XP SP3 漏洞描述:Internet Explorer 是 Windows 操作系统中默认集成的 Web 浏览器。该漏洞源于帧边界属性的不当处理,攻击者可通过构造特定的网页内容,导致浏览器崩溃,从而引发远程拒绝服务攻击。此漏洞对用户的正常使用造成严重影响,建议用户及时更新浏览器版本以确保安全。 ... [详细]
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 本文详细介绍了如何解决DNS服务器配置转发无法解析的问题,包括编辑主配置文件和重启域名服务的具体步骤。 ... [详细]
  • 本文最初发表在Thorben Janssen的Java EE博客上,每周都会分享最新的Java新闻和动态。 ... [详细]
author-avatar
__乀余海燕v
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有