XSS-HREF是在讲述一个知识点: 双引号被转义了,我们还能不能输出点什么? XSS-JS的例子是在讲述一个知识点:网页里输出的js(这些js可能是代码生成的),更是充满了很多未知的可能。
XSS-HREF

上才艺:
直接输入一个xss的代码看看结果:
是否被编码? 打开html格式修改看看,
没有被编码,那我们是否可以闭合那个双引号呢?输入双引号试试:
太不幸了,双引号被编码了,我们就没有办法闭合。 脑洞正确的打开形式应该是: 如果不能闭合双引号,在基本的js代码没有被编码的情况下,怎么用? 有没有类似的技巧?
有: 比如我们输入: javascript:alert(“hi! coming!”);
我们得记住这个技巧。 安全学习的本质+安全学习的技巧=安全能力的提升。 +100
XSS-JS
让我们先看看pikachu里面的例子:

是不是看得一愣一愣的。几个意思? 提交按钮这里也看不到任何的js代码。好吧,让我们回到源码里去找找相关的答案看看。不看源码可以吗? 不看源码看什么?。。。
通过对源码的分析,我们还是找到了点什么?
这个判断很简单,如果输入是tmac的话,就输出不一样的内容,否则输出:“无论如何不要放弃心中所爱”。
通过对输入的内容变化,我们发现,始终是$ms变量的内容被替换了。这个很显然就是服务器端把变量内容植入进去的。 所以,这个变量赋值基本上就很生硬了。
为JS输出开脑洞
这里的JS输出具体点,应该就是js变量的输出。js变量的内容我们是可以控制的。我们能不能输入一个单引号去闭合$ms变量前面的单引号呢? 按这个点,我们去测试一下。
测试输入:
111’ ; alert(/hello/); ‘
到此为止。
