文章教程

SQL注入黑客防线网站实例分析

5/9/2018 10:54:04 PM 人评论 次浏览

今天到黑防站上去看看文章,可能出于“职业”习惯,看到?classid=1之类的东东就不由自主的想加点什么参数进去。
当在页面http://www.hacker.com.cn/article/index.asp?classid=3&Nclassid=13加上①and 1=1和②and 1=2,都提示“处理 URL 时服务器上出错。请和系统管理员联络”,看起来象已经过滤了非法提交,IIS也关闭了错误提示,再加上一个③单引号’的时候,也出同样的错误提示,然而明显与前两个错误提示不同,因为前者显示了黑客防线的Logo才提示错误,后者则是一个空白的错误提示页。

这可是我从来没碰到过的特殊情况,到底能不能注入呢?

换个角度,从程序员的思路是怎么写这段程序的。首先,如果是用cint之类函数,那三种测试方法错误提示应该是完全一样的;如果没过滤的话,①②的结果应该是不一样的。排除了几种情况,最后觉得极可能是部分语句过滤,出现这种情况很可能是cint语句不小心放到SQL语句的后面,在SQL语句通过后,后面的语句报错。

虽然还不很确定实际的程序是怎么写的,但可以确定,这确实是一个注入点!

根据我写的《SQL注入漏洞全接触》,下一步就是判断数据库类型,因为错误提示都被屏蔽,只能通过系统表测试了,输入:
 

http://www.hacker.com.cn/article/index.asp?classid=1 and (Select count(1) from sysobjects)>=0