码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Pikachu靶场之XSS漏洞详解


    目录

    1、反射型xss(get)

    1.1 查看源码

    方法三:

     2、反射性xss(post)

    3、存储型XSS演示

    4、Dom型XSS演示

    5、DOM型xss-x

    6、xss盲打

    7、XSS的过滤和绕过

    8、XSS之htmlspecialchars

    9、xss之href输出

    10、xss之js输出


    1、反射型xss(get)

    1.1 查看源码

     方法一:

    直接把20给它改成200

    <script>alert(document.cookie)</script>
    

    方法二:

    用hackbar

    方法三:

    网页框之间输入

    因为输入的Payload会在网址框显示,而网址框是没有长度限制的
    所以可以之间在网址框插入Payload

    1. <script>alert("caker")<%2fscript>
    2. %2f为URL编码中的 /

     2、反射性xss(post)

    和1差不多,要先以post方式登入

    <script>alert(document.cookie)</script>

     

    3、存储型XSS演示

            存储型XSS漏洞跟反射型形成的原因一样,不同的是存储型XSS下攻击者可以将脚本注入到后台存储起来,构成更加持久的危害,因此存储型XSS也称“永久型”XSS。

            页面切换,然后再次切换回来,发现弹窗依然存在,说明我们输入的语句已经被存储起来。

    4、Dom型XSS演示

    什么是DOM

    HTML DOM 是关于如何获取、更改、添加或删除 HTML 元素的标准

     看起来应该是a标签,打开页面源码,CTRL+F搜索这串字符

     利用了DOM将字符串进行了拼接并把值给a标签的href,然后输出一个what do you see?

    所以我们可以利用已知条件构建payload效果为弹窗,弹窗内容为XSS

    1. <a href='#' onclick="alert(xss)">'>what do you see?

    故:

    #' onclick="alert(xss)">
    

    5、DOM型xss-x

     查看源码

     分析代码,利用了DOM将字符串进行了拼接并把值给a标签的href,就是比第4题更容易利用而已

    #' οnclick="alert(xss)">

    tip:

    由于本关payload在url中,因此比第4关好利用很多
    DOM型XSS只在前端,与后端毫无关系。DOM-X型危害更大,它能够像反射型一样在URL中体现,将URL发给了受害者就能进行攻击。

    6、xss盲打

     输入代码后,页面没有反应

     不妨打开后端页面

             登录后发现我们之前输入的内容已经记录在后台,而且内容和用户名都有显示,所以对两个输入框都进行测试

    Payload:

     

            这种情况就是xss盲打,对攻击者来说只是尝试的输入,并不知道后台是否被输出,只是尝试的输入跨站脚本。管理员被x到,攻击者成功。这种危害比较大,如果在前端输入一段盗取cookie的脚本,管理员一登陆,管理员的cookie就会被获取。攻击者就可以伪装管理员登陆后台,后台的权限就大了。

    7、XSS的过滤和绕过

    XSS绕过-过滤-转换;

    1. 大小写,比如:
    2. 前端限制绕过,直接抓包重放,或者修改html前端代码
    3. 拼凑: pt> alert(111) pt>
    4. 使用注释进行干扰: pt> alert(111) ript>
       

    先输入,试试

    好家伙, 全被过滤掉了。

    输入所有可能的敏感字母:"<>'on/`() script href src img

     可以把这些一个个输入提交试试,如果单独输入"<>‘on/’()则什么都没有被过滤,如果输入了"<>‘on/’() script img href src,则<>‘on/’() script被删掉了,这说明过滤语句超可能是<.*script

    <a herf="#" onclick="alert(document.cookie)">
    
    <img src=x onerror="alert(666)">
    

    8、XSS之htmlspecialchars

    htmlspecialchars()函数把预定义的字符转换为HTML实体

    • & (和号)成为 &
    • " (双引号)成为 "
    • ' (单引号)成为 '
    • < (小于)成为 <
    • > (大于)成为 >

    我们输入:jinyouxin' "<>#$% have a try

     

    除了单引号其他的特殊字符都进行了编码,我们可以输入#' οnclick='alert(document.cookie)' 第一个单引号是对前面进行闭合。

     

    9、xss之href输出

    先用 jinyouxin' "<>#$% 试试

     补充:

    href 属性的值可以是任何有效文档的相对或绝对 URL,包括片段标识符和 JavaScript 代码段。如果用户选择了标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表。

    敏感字母都被编码了,可以使用JS伪协议绕过:

    javascript:alert(document.cookie)
    

     

    思考:

    那么当用户输入由href属性输出时,该怎么防御xss呢?

    仅仅html编码就不够了,本关的php源代码中给了提示(有点简略,这里稍微扩充一点)。遇到这种情况,需要两点处理:

    1. 检查用户输入,必须以http或者https开头。注意,不可以仅仅是包含http和https。
    2. 进行html实体编码
       

    10、xss之js输出

    先用 jinyouxin' "<>#$% 试试

     直接在中,这样就容易了,payload:';alert(/xss/);//

     

  • 相关阅读:
    【memmove函数的功能介绍及模拟实现】
    Python 图_系列之基于邻接矩阵实现广度、深度优先路径搜索算法
    外包干了3个多月,技术退步明显。。。。。
    SpringCloud 之初识 GateWay
    AWS 中文入门开发教学 1- 课程介绍
    java计算机毕业设计健身房管理系统MyBatis+系统+LW文档+源码+调试部署
    【微信小程序】项目实战—抽签应用
    【LeetCode】9. 回文数
    Java 使用Reactive Redis
    聚力人才一路“向北”,开福区为“强省会”装上强劲引擎
  • 原文地址:https://blog.csdn.net/m0_61506558/article/details/126439435
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号