没有用户输入窃取Cookies?

时间:2010-04-20 16:15:36

标签: python security xss

我正在为一个用户创建一个带有动态管理后端的静态站点生成器。该网站不接受用户输入。这是否意味着我对试图窃取我的管理员cookie的攻击者是安全的?

(没有用户输入,所以XSS和其他方法不起作用,对吗?)

2 个答案:

答案 0 :(得分:1)

如果没有用户输入(没有指向任何效果的点击链接等),管理员后端如何符合“动态”条件?

但基本上:不,除非您使用HTTPS。即使您不接受输入,cookie也会以明文传输,因此可以捕获(通过中间人攻击等)并使用。 (我假设您不希望其他人使用cookie来查看管理员的内容。)

或者我完全误解了这个问题? ; - )

答案 1 :(得分:0)

以下功能是一个漏洞点。这可以是一个矢量,可以使用CSRF以邪恶的方式访问它。可能通过执行CSRF->Stored XSS攻击来引入恶意JavaScript。

  

我有一个“管理信息中心”   可以编辑现有的内容   条目或添加新条目。

问题在于,当您对此管理控制台进行身份验证时,黑客仍然可以通过“认证”会话“骑”来访问此功能,这是CSRF的基础。简而言之,攻击者不需要知道您的会话ID ,因为您的浏览器确实如此!通过访问恶意网站,攻击者可以强制您的浏览器向您的管理控制台发送http请求。为了解决此攻击,攻击者必须知道服务器,脚本的路径以及所有POST / GET参数,但他不需要您的密码或cookie。如果这是一个内部管理控制台,这是一个不太可能的攻击向量。但它容易防御。最简单的方法是检查正在进行“内容修改”的http请求的http referer,摩托罗拉为其许多网络设备执行此操作。更常见的方法是使用“csrf令牌”。

如果您通过.htaccess文件或基于cookie的身份验证使用basic-auth,CSRF仍然仍然。无论您需要什么来防止恶意伪造请求并使用HTTPS防止嗅探。这在OWASP Top 10中有更详细的内容,请务必阅读“A3:破坏的身份验证和会话管理”。