我正在尝试为我的一些网络应用程序(ASP.NET,如果这最终成为问题)做一些即将进行的常规测试,以测试cookie值。我正在尝试为此插入一些Javascript和SQL特定的代码,但有一些问题。
我有FireFox,IE 7和8以及Chrome。 FireFox的Add N Edit Cookies extension将不允许我将值更改为带有分号的任何内容。 Nirsoft的IECookiesView将不会显示我完全关注的特定cookie(ASP.NET的会话ID cookie)。
是否还有其他用于编辑Cookie的实用程序,以便我可以对其进行测试?我的Google-fu似乎让我失望了。
答案 0 :(得分:3)
在您要编辑的Cookie的网站上的地址栏中输入此内容。请记住,document.cookie根据您当前查看的域名而有所不同。 UNION ALL SELECT lname FROM Employee ORDER BY au_lname
编辑: Bobince对分号是正确的,所以这里是没有分号的sql注入。
javascript:document.cookie =“SESSID ='联合选择来自id = 1的用户的密码 - ”;
Tamperdata是firefox的插件,它预先构建了sql注入和xss字符串,可用于测试传出请求。另一个选项是Acunetix,可以测试http服务器变量以及xss / sql注入的cookie参数以及更多漏洞。 Acuentix xss测试仪是免费的。 w3af和wapiti是免费和开源的,但它们不测试cookie变量。
答案 1 :(得分:1)
也许您可以尝试修改传出的http请求?与modify headers扩展名一样。
此外,您可以纯粹从http分析的角度来看问题,并直接使用一些http测试工具而不是使用浏览器。我是一名Java开发人员,因此我会想到JMeter和Solex。
我怀疑直接修改cookie会有问题,因为扩展程序往往符合http规范,就像你发现添加N编辑Cookie一样。您可以尝试直接修改cookie文件,并希望firefox接受它,但听起来有点不稳定。
答案 2 :(得分:1)
;
不能存在于Cookie值中。在Set-Cookie
标头或document.cookie
分配中设置它是不可能的,因为它将是一个分隔符,并且没有标准的转义方案将带外字符放入cookie中。
您需要自定义客户端或加载项才能发送包含分号的Cookie:
个请求标头;标准浏览器不会这样做。