2015-03-18 48 views
0

给出的URL:XSS查询字符串可能吗?

http://www.example.com/abc?q1=foo&q2=<USER SUPPLIED> 

这是网址易受攻击? (假设<USER SUPPLIED>未在HTML文档中输出)。

如果这是打印到href属性,并且是HTML编码的,但没有URL或属性编码。攻击者可以做什么?

+0

那么它非常依赖于你的服务器端实现以及你将如何使用'q2'参数。这可能是一个兴趣点,但。你能为你的问题提供一个更真实的场景吗? – 2015-03-18 21:42:02

+0

@KiaPanahi在这种情况下,它只是为报表定义了一些参数,但是,它有一个机会,尽管它稍微有些破损,但它可能以属性的形式回到页面。 – BanksySan 2015-03-18 21:49:59

+0

在这种情况下(任何可能对服务器或客户端应用程序有任何影响的情况下,您都应该确保(尽你所知)清理并渲染任何/每个可能影响应用程序的操作数据或行为完整性。:) – 2015-03-18 21:53:53

回答

0

如果在页面上使用“q2”值,并且它无论如何都不会被净化(您正在使用简单的$_GET['q2']来读取值),它被认为是XSS。即使它没有打印在页面上的任何位置,它也会创建反射的XSS。攻击者可以插入任何东西而不是参数,如果它被运行,甚至插入到数据库中,他可以例如捕获你的phpmyadmin会话cookie,或者根据你的页面如何处理这个值来做其他无害的事情。