XSS

Less - 11:

1.观察界面和源代码可知,依旧是隐藏表单

 

2.突破点是

$str11=$_SERVER['HTTP_REFERER'];

(本题为TTP头REFERER注入)

3.因此构造payload对t_ref进行修改

payload:

click here~" type="button" onclick="javascript:alert(1)"

4.

Less - 12:

1.直接分析源码,可以判断此题为ser-agent注入

 

 2. 启动bp拦截一下,

3.用payload替换,

 

Less - 13:

 1.分析源代码,发现是cookie注入

 2.依旧拦截抓包,修改

 3.通关

Less - 14:

地址失效

Less - 15:

1.查看源代码,发现有弹窗脚本

 

   补充:

    ①ng-include 指令用于包含外部的 HTML 文件。包含的内容将作为指定元素的子节点。

    ②ng-include 属性的值可以是一个表达式,返回一个文件名。默认情况下,包含的文件需要包含在同一个域名下。

2.思路:

  ①使其包含leve 1 文件并构造如下payload ,利用src异常报错 。

  ②onerror 事件在加载外部文件(文档或图像)发生错误时触发。

3.做法:搜索发现无隐藏输入框,找到一个img标签,用于加载页面图片

4.尝试利用img标签的src路径错误触发的onerror事件,来制造弹窗,即:将src置空,新增onerror事件为alert(1)

构造payload:

'level1.php?name=test<img src=1 onerror=alert(1)>'

总结:无input标签,但是发现img标签,利用其空src的报错事件(onerror) 进行绕过

(法二:见http://0verflow.cn/?p=1764

Less - 16:

1.查看源代码,依旧是统一小写+各种过滤替换......把 “script”、”/”、”空格” 转换为”&nbsp” 这个实体编码,那就不能双写绕过和大小写混合绕过了。

2.尝试使用回车符%0a进行(经过尝试是可以的)

3.发现<center>标签,作用为

4.script我们可以使用%a0隔开绕过替换,空格替换可以使用%0a代替,但是反斜杠却没法绕过,所以只能不使用反斜杠。

5.构造payload:

<a%0ahref="javascr%0aipt:alert(1)">
 

Less - 17:

1.进入页面发现有两个注入点

 2.查看源代码,发现<embed>标签,由于embed支持html事件属性,那就可以给他添加一个属性,比如onclick

 3.尝试构造payload

arg01= onclick&arg02=javascript:alert(1)

Less - 18:

思路和上一关完全一样,引用上一关payload

arg01= onclick&arg02=javascript:alert(1)

Less - 19-20:

 flash xss,涉及到反编译(没怎么肝明白,还在看,,,)

可以参考

https://blog.csdn.net/u014029795/article/details/103213877

 https://blog.csdn.net/u014029795/article/details/103217680?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159547621119725219908275%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159547621119725219908275&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v4-1-103217680.first_rank_ecpm_v3_pc_rank_v4&utm_term=xss-labs%2019&spm=1018.2118.3001.4187

原文地址:https://www.cnblogs.com/3cH0-Nu1L/p/13418192.html