LoRexxar's Blog

Web for pentester_writeup

2015/05/10

XSS:

0x01 example01

第一题应该是什么都没有过滤吧,直接x就好。

0x02 example02

简单的提交一些表单可以发现过滤了,但是正则过滤不充分,所以想到了两种绕过方式。

1.改变大小写

2.办法是后来想到的,标签包含标签,这样一个script被过滤了,剩下的刚好组成script

0x03 example03

第三题过滤了各种大小写的script,开始的想法是js,然而并没有什么用,而且尝试后发现过滤了#号的所有字符,这样编码就是没用的,于是想到用别的标签…

还有一种是会长博客里的,svg标签的黑科技:

1
<svg/onload=alert()>

0x04 example04

直接尝试了上一题的payload,直接过了…

1
<img src="/" onerror=alert("1")>

0x05 example05

上一题的payload已经不能用了,仔细提交一下发现过滤了alert(),于是编码之后,eval执行

后来想到还可以使用别的语句,于是换用prompt( )

0x06 example06

先提交上一题的payload然后查看源码,发现提交的东西赋入了变量a…

想到了加入

1
</script><script>

Get!

0x07 example07

7题把<>“”做了ascii码转义,开始想的是闭合前面的 ‘ ,但是并不好用,后来把后面的 ‘ 注释掉成功拿下。

0x08 example08

这次改成了一个post方式传输的表单,但是对很多符号做了ascii码做了转义,包括<>#&”,而且url编码也是无效的,一下子卡住了…

后面去看别人写的writeup,发现表单那是是没办法x的,漏洞在地址,payload如下

1
http://192.168.163.131/xss/example8.php/"><script>alert(1)</script>

表单提交的地方就会执行需要的代码…

0x09 example09

打开之后直接查看源码,可以看到

这个的意思是指取地址栏#后的语句,然后也没做什么过滤,很简单的加入标签就好了

CATALOG
  1. 1. XSS:
    1. 1.1. 0x01 example01
    2. 1.2. 0x02 example02
    3. 1.3. 0x03 example03
    4. 1.4. 0x04 example04
    5. 1.5. 0x05 example05
    6. 1.6. 0x06 example06
    7. 1.7. 0x07 example07
    8. 1.8. 0x08 example08
    9. 1.9. 0x09 example09