下午接着XSS,先放靶场
http://test.xss.tv/level1.php?name=test
这一题也没什么,主要就是找到注入点,让name等于test23,看下页面源码,发现只有一个地方出现了我们输入得东西。于是我们构造payload
这个我就极其得不理解,到底编码之后还能不能用了,上午写得那个可以用,到下午,这个就不行了。晕,不知道等以后学了JavaScript和HTML之后,会不会明白。它这个是在这里注入的,下面这个,不是上面那个图。
我们构造payload:来闭合前前面的标签。
">
这一关过滤了"<",>,"。它既然敢过滤,那我们就敢不用。换一个姿势:onmousedown,它是一个事件,当 某个鼠标按键被按下时触发,我们就让它等于JavaScript代码。前面的单引号闭合前面的,后面的同理。记得点一下输入框。
' onmousedown='alert(1)
和上一关一样,只不过换成了双引号
" onmousedown="alert(1)
这一关过滤了所有on事件,那我们就再换个姿势:JavaScript:alert(1),照样可以执行JavaScript代码,只不过这个好像是一关个链接的形式出现的,所以我们要加一个标签。
">
这一关,再上一关的基础上,又把href给过滤了,问题不大。它没有匹配大小写,我们用hREf绕过。
">
过滤了href和script。但是都只是过滤了一次,所以我们双写就可以了
">
把关键字给过滤了,加上了空格,但是我们可以用%0a来制造空格,来绕过。我以前我记得是用的ASCLL来绕过的,但不知道为什么突然就不行了。
javascript:alert(1)
看了别人的答案,才知道必须包含http://这几个字符,让后JavaScript关键字照样过滤掉了,还是用url编码绕过。
javascr%09ipt:alert(`http://`)
这一关啥都没有,这咋写,没有办法,只能看了看别人的payload,他们竟然有源码。他们说胡务器出来接受一个keyword还接受了一个“t_sort”,这谁顶的住。不看源码这谁知道。反正就是给“t_sort”也传一个值,生成一个文本框,让后再创建条件。
keyword=well%20done!&t_sort=" type="text" onmousedown="alert(1)
他们三个都差不多,只不过注入的地方不一样,第一个是referer,第二个是user-agent,第三个是cookie,然后方式可10差不多,好像一模一样。
keyword=well%20done!&t_sort=" type="text" onmousedown="alert(1)
不会写,14好像这一关有问题。下一关下一关。
把空格过滤了,用%0a绕过就行了
大佬们写的好像比我的简单,但思路都是构造事件,让后触发
arg01= onmousemove&arg02=alert(1)
不会了。
可算是写完了,写了两个靶场,感觉对XSS也算是有了一个大致的了解吧,未来的路,任重而道远。不仅的再学学如何发现XSS还的学习一下如何利用。我也大概去了解了一下,发现,XSS要是想盗cookie,不仅只靠XSS,还得学CSRF。我的小心脏啊,还的学这么多东西。come on,来吧!