• XSS测试


    目录

    实验

    level2

     level3

     level4

    level5

     level6

     level7

    level8

     level9

    level10

     level11

    level12

     level13


    实验

    level2

    我们首先进行测试,发现不行

     查看代码,可以看见我们上传的代码被包含在双引号里面

     我们尝试绕过双引号 :"><"  ,成功了,可以看见双引号被我们闭合了

     level3

    我们首先尝试level2的绕过方法,果然双引号被限制了,

     换成单引号试试呢,成功了 

     

    成功的原因:我们查看源码,发现在双引号前面有一个单引号进行闭合操作,且没有对单引号进行编码。所以我们可以使用单引号进行闭合

     level4

    我们还是先用测试一下

     可以看出这个页面过滤了尖括号,那我们换一个不用尖括号的onclik测试

     测试成功

    level5

    我们先用aaa" οnclick="alert(1)  和  测试,可以看出这次是将onclick/script函数加上下划线,使其失效

     

    那我们再测试一下尖括号是否过滤,很明显尖括号没有进行过滤

     那我们可以尝试换一个不常用的函数进行测试页面是否过滤   

     如:aa"> bbb

     为什么这个JavaScript没有被过滤呢,我们需要查看一下源码

    原来,源码中过滤script是带上了前面的尖括号,然而JavaScript中script前没有尖括号,所以不符合条件。没有过滤成功,一般使用正则表达式做过滤限制更好。

     level6

    先使用aaa" οnclick="alert(1)  和 测试该页面的规则

     可以看出依旧是使用下划线使函数失效,我们继续查看尖括号是否过滤

    尖括号没有过滤,我们继续使用a标签尝试绕过

     虽然JavaScript没有过滤但是href被过滤了,那怎么办了,我们再试一下大小写是否可以绕过

    如:aaa" ONCLICK="alter(1),绕过成功

     level7

     通过前面几题,我们可以猜到前面的方法应该都不行,我们先试一下aaa" οnclick="alert(1)

    可以看出,这个页面去掉了on使其函数失效,这时我们可以尝试双写的方式绕过aaa" oonnclick="alert(1),成功了 

    level8

    我们先测试一下aaa" οnclick="alert(1),发现被过滤了

     查看源码可以知道这个过滤了很多可以使用的标签,我们用编码测试一下

    我们将javascript:alert(1)进行实体编码后提交,绕过成功了 

     level9

    这个网页需要填含有http://的网址,我们使用百度网页链接测试可以成功,我们还是测试一下是否可以实体编码:javascript:alert(1)//http://,其中在http://前面的//是用于注释掉后面的http://

    编码后:javascript:alert(1)//http://

    成功了:

    level10

     首先可以看网页上的代码:

    可以看出我们的输入框被隐藏了,我们可以尝试着将type的属性改变一下:keyword=abc&t_link=bcd&T_history=cde&t_sort=def" type="text"

     我们将一个输入框显示出来后就可以在后面加上点击事件了:

    keyword=abc&t_link=bcd&t_history=cde&t_sort=def" type="text" οnclick="alert(1)

     level11

    我们首先查看此关卡的限制,可以得到可以提交t_sort的数据被限制了,所以我们尝试使用HTTP_REFERER这个进行绕过

    referer:说明了从哪个页面访问的服务

     我们首先在referer中提交:bbb" type="text" οnclick="alert(1) 

     成功了

    level12

    查看源码,可以发现这个关卡和上一个相似

    我们选择在user_agent上提交测试:bbb" type="text" οnclick="alert(1) 

     level13

    查看源码,可以看出此关卡传输cookie中设置了user

     所以我们在上传时需要加上user=

    user=callme bbb" type="text" οnclick="alert(1)

    成功了

  • 相关阅读:
    我开发了《联机桌游合集: UNO+斗地主+五子棋》,让你享受纯粹的游戏
    lightdb21.3-支持语句级hint
    22.0、C语言——内存函数的剖析和使用
    连接SQL Server 数据库
    maven配置代理
    虚拟摄像头之九: IMX8Q 的 camera.imx8.hal 框架详解
    外包做了3个月,技术退步明显。。。。。
    Transformers库中的pipeline模块支持的NLP任务
    Java Web中日志跟踪的简单实现
    23种设计模式精讲
  • 原文地址:https://blog.csdn.net/qq_52016943/article/details/126007138