首页 > 范文大全 > 正文

网站防注入别忘了cookie注入

开篇:润墨网以专业的文秘视角,为您筛选了一篇网站防注入别忘了cookie注入范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

经过几年的注入攻击的洗礼,现在即使一般小企业的网站也做了防注入,但有一种注入叫cookie注入,由于它利用了网站程序一般很少使用但确实可用的获取参数的方法,很多网站程序的作者往往忽略了防范cookie注入,给网站的安全带来极大危害。下面我还是通过一个例子说明cookie注入的危害。

我收藏了一款存在cookie注入漏洞的ASP网站程序―宜昌电脑网络公司v2.8版,它存在的注入漏洞比较经典,就用它来演示cookie注入漏洞了。

发现漏洞

我把宜昌电脑网络公司v2.8版在虚拟机里用IIS运行了起来,网站访问地址为127.0.0.1/ ,如图1。

在“常见故障”栏目中点开一篇名为“夏普复印机特殊故障代码的复位方法”的文章,在浏览器中显示的地址为127.0.0.1/news_more.asp?id=1093,如图2。

在这个地址后面输入-0,也就是浏览器中的地址变为了127.0.0.1/news_more.asp?id=1093-0,回车,显示的还是“夏普复印机特殊故障代码的复位方法”这篇文章;在地址127.0.0.1/news_more.asp?id=1093后面输入-1,也就是浏览器中的地址变为了127.0.0.1/news_more.asp?id=1093-1,回车,显示的文章变为了“夏普AR1818、AR163、AR163N、AR2818垂直白线”,如图3 。

和直接访问127.0.0.1/news_more.asp?id=1092显示的页面相同。也就是id后面的参数1093-1这个减法运算被执行了,推测news_more.asp在获取id参数的值时过滤不严,很可能存在注入漏洞。是否存在普通的注入漏洞呢?在地址127.0.0.1/news_more.asp?id=1093后面输入空格and空格1=1(把空格换成按一下空格键),地址变为了127.0.0.1/news_more.asp?id=1093 and 1=1,回车后出来了防注入提示“系统提示:您进行了非法操作 请不要在参数中包含非法字符尝试注入!”,如图4。

看来网站有防注入措施,那是不是网站就不存在注入漏洞了呢?ASP程序有Get和Put两种常用获得输入的方法,还有一种不常用的通过cookie获得输入的方法。127.0.0.1/news_more.asp?id=1093 and 1=1就是通过Get方式获得参数的值1093 and 1=1,注入代码被拦截只能说明通过Get方式提交的注入代码被拦截,那么我们通过不常用的cookie提交注入代码是否会被拦截呢?来实际测试一下。在浏览器的地址栏中输入javascript:alert(document.cookie="id="+escape("1093 and 1=1")),回车,会出来一个对话框,点“确定”按钮关闭它,然后在浏览器中输入127.0.0.1/news_more.asp ,回车后显示的内容和输入127.0.0.1/news_more.asp?id=1093的内容一样,说明news_more.asp获得了我们通过cookie传递的参数1093 and 1=1,正常显示了“夏普复印机特殊故障代码的复位方法”这篇文章,并且我们的注入测试代码and 1=1也没有被拦截,如图5。说明程序没有对我们通过cookie提交的数据做防注入处理,程序存在cookie注入漏洞。

cookie注入

知道了网站存在cookie注入漏洞就可以来注入了。其实,cookie注入漏洞和一般的注入漏洞能做的事一样,比如可以获得网站管理员的用户名和密码等,就是利用过程稍微比一般的注入麻烦一些。可以像上面一样在浏览器的地址栏中输入javascript代码完成注入攻击,但输入代码太麻烦,我们来用个简单的办法。通过寂寞的刺猬的注入中转生成器jmdcw可以把cookie注入漏洞转化成普通的注入漏洞来利用,然后就可以用注入漏洞利用工具进行注入了(截至到现在,据我所知还没有一款注入工具可以直接对cookie注入点进行注入)。打开jmdcw.exe,因为是cookie注入,因此选择“COOKIE注 ”,“来源页”输入存在cookie注入漏洞的地址127.0.0.1/news_more.asp?id=1093,注入URL地址输入127.0.0.1/news_more.asp,也就是去掉了参数的地址,“注入键名”输入id=,也就是存在cookie注入漏洞的地址127.0.0.1/news_more.asp?id=1093中参数的名字id后面再加个=,“POST提交值”修改为jmdcw=1093,“正常的Cookie值”不用修改,用默认的就行,如图6。点“生成ASP”按钮就会在jmdcw.exe同目录下生成文件jmCook.asp,把jmCook.asp上传到支持ASP的网站空间中,这里我把它复制到了我虚拟机里的网站根目录下,访问地址为127.0.0.1/jmCook.asp 。

用浏览器打开127.0.0.1/jmCook.asp?jmdcw=1093,显示如图7。和127.0.0.1/news_more.asp?id=1093的内容相同,通过注入中转生成器把地址127.0.0.1/news_more.asp?id=1093转换成了127.0.0.1/jmCook.asp?jmdcw=1093。127.0.0.1/jmCook.asp?jmdcw=1093就是普通的注入点了,用常用的注入工具比如啊D就可以跑出网站管理员的用户名和密码了,如图8。

用获得的管理员的用户名和密码进入了后台。在后台点“添加文章”,上传图片的地方可以直接上传asp文件,上传个ASP大马上去,如图9。

至此,通过cookie注入漏洞获得了网站的完全控制权,利用ASP大马可以编辑网站目录下的任意文件。

虽然普通的注入漏洞越来越少了,但比较隐蔽的cookie注入漏洞却还普遍存在,尤其是很多小的利用ASP程序的网站,有很大一部分存在cookie注入漏洞。要防范cookie注入漏洞也比较简单,比如可以采用做了防cookie注入的程序来建站等。