学习啦 > 学习电脑 > 电脑安全 > 网络安全知识 >

SQL注入黑客防线网站原理是怎样的

时间: 加城1195 分享

  所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。这篇文章主要介绍了SQL注入黑客防线网站实例分析,需要的朋友可以参考下。

  方法步骤

  当在页面加上①and 1=1和②and 1=2,都提示“处理 URL 时服务器上出错。请和系统管理员联络”,看起来象已经过滤了非法提交,IIS也关闭了错误提示,再加上一个③单引号’的时候,也出同样的错误提示,然而明显与前两个错误提示不同,因为前者显示了黑客防线的Logo才提示错误,后者则是一个空白的错误提示页。

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

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

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

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

  提示出错,没出现Logo,说明是语句本身有错,极可能是表sysobjects不存在,也就是说数据库是Access,再拿一个Access应有的系统表试试(msysobjects在这个时候派不上用场,因为在Web下没有权限读取,SQL语句同样不能通过,所以,必须换个有权限的表如MSysAccessObjects),果然,出现了黑防的Logo,证实数据库确实是Access。

  接下来的猜解就比较简单了,用(count(1) from admin)>=0测试出admin表存在,表中有username、password字段。本来以为下面就是用最普通的Ascii解码法猜解记录,小Case,没想到,一开始猜解,才发现这是最难啃的一块骨头:传统的Ascii对比中,无论条件是否成立,语句都是可以正确执行的,它是利用ASP的出错而非SQL语句的出错来发现错误的,在这个页面,不管你成不成立,都是显示一个Logo然后报错,根据无法做出判断。

  冥思苦想了半个钟头,终于想出一种方法,让SQL语句有条件的报错,先看看语句:

  写出这个语句的时候,连我自己都好崇拜我自己,哈哈,别吐,解释一下,asc(mid(username,1,1))这个都看得懂,取username第一位的ASCII码,大于96的话,select出数字1,小于等于96的话,select输出字符串username,然后,拿select出的值与0比较。

  1与0都是数字型,当ASCII码大于96的时候,SQL语句不会出错;username则是字符型,当ASCII码小于等于96的时候,SQL语句会出错。所以,两种情况的出错提示是不同的,我们可以根据出错提示判断语句是否成立,从而逐步缩小每一位字符的范围,得出username的值。

  于是,根据上面所说的方法,得出username的值为:chr(98)+ chr(114)+ chr(105)+ chr(103)+ chr(104)+ chr(116)=bright,password的值为chr(109)+ chr(105)+ chr(110)+ chr(103)+ chr(116)+ chr(105) + chr(97)+ chr(110)=mingtian,解码完成。

  补充:校园网安全维护技巧

  校园网络分为内网和外网,就是说他们可以上学校的内网也可以同时上互联网,大学的学生平时要玩游戏购物,学校本身有自己的服务器需要维护;

  在大环境下,首先在校园网之间及其互联网接入处,需要设置防火墙设备,防止外部攻击,并且要经常更新抵御外来攻击;

  由于要保护校园网所有用户的安全,我们要安全加固,除了防火墙还要增加如ips,ids等防病毒入侵检测设备对外部数据进行分析检测,确保校园网的安全;

  外面做好防护措施,内部同样要做好防护措施,因为有的学生电脑可能带回家或者在外面感染,所以内部核心交换机上要设置vlan隔离,旁挂安全设备对端口进行检测防护;

  内网可能有ddos攻击或者arp病毒等传播,所以我们要对服务器或者电脑安装杀毒软件,特别是学校服务器系统等,安全正版安全软件,保护重要电脑的安全;

  对服务器本身我们要安全server版系统,经常修复漏洞及更新安全软件,普通电脑一般都是拨号上网,如果有异常上层设备监测一般不影响其他电脑。做好安全防范措施,未雨绸缪。

  相关阅读:提高服务器安全性的技巧

  1.经常更改系统管理员密码。---->且密码最好是大小写都有

  2.定期更新系统补丁。---->开启自动更新,并设定到晚上重启。

  3.检查系统是否多出超级管理员,检查是否有帐号被克隆在“开始”>运行中输入“cmd”>在输入 net localgroup administrators

  4.在“开始”>运行中输入“msconfig”检查随机启动的程序和服务,关掉不必要的随机启动程序和服务。

  5.服务器上的所有程序尽量安装程序的最新稳定版。

  6.检查SERVU是否被创建有执行权限的用户或者对C盘有读写权限的用户,并且给SERVU设置一个登录密码。如果需要请给serv_u设置独立启动账户。

  7.不要随意安装任何的第三方软件。例如XX优化软件,XX插件之类的,更不要在服务器上注册未知的组件。

  8.不要随意在服务器上使用IE访问任何网站,杜绝隐患那是必须的。

  9. 检查系统日志的“安全性”条目,在右侧查看近期“审核成功”的登录

  10.不要在服务器上双击运行任何程序,不然怎么中了木马都不知道。

  11.不要在服务器上用IE打开用户的硬盘中的网页,这是危险的行为。

  12.不要在服务器上浏览图片,以前windows就出过GDI 的安全漏洞。

  13.及时的更新病毒库,查杀病毒。

  14.定时的查看系统各个盘符的磁盘权限,是否为设定的安全权限。

  15.确保你自己的电脑安全,如果自己的电脑不安全,服务器也可能不太安全。


SQL注入相关文章:

1.如何修复SQL注入漏洞

2.wifi如何断开防火墙

3.路由器防止他人蹭网的设置方法步骤

4.如何判断路由器有没有被劫持

5.网络安全技术的总结

4016427