zoukankan      html  css  js  c++  java
  • sql注入防御

    网站的噩梦——SQL注入

    SQL注入通过网页对网站数据库进行修改。它能够直接在数据库中添加具有管理员权限的用户,从而最终获得系统管理员权限。黑客可以利用获得的管理员权限任意获得网站上的文件或者在网页上加挂木马和各种恶意程序,对网站和访问该网站的网友都带来巨大危害。

    防御SQL注入妙法

    第一步:下载SQL通用防注入系统的程序,在需要防范注入的页面头部用<!--# include file=”xxx.asp”-- >来防止别人进行手动注入测试。
    可是如果通过SQL注入分析器就可轻松跳过防注入系统并自动分析其注入点,然后只需几秒钟,你的管理员帐号及密码就会被分析出来。
    第二步:对于注入分析器的防范,笔者通过实验,发现了一种简单有效的防范方法。首先我们要知道SQL注入分析器是如何工作的。在操作过程中,发现软件并不是冲着“admin”管理员帐号去的,而是冲着权限(如flag=1)去的。这样一来,无论你的管理员帐号怎么变都无法逃过检测。
    第三步:既然无法逃过检测,那我们就做两个帐号,一个是普通的管理员帐号,一个是防注入的帐号。为什么这么说呢?笔者想,如果找一个权限最大的帐号制造假象,吸引软件的检测,而这个帐号里的内容是大于千字以上的中文字符,就会迫使软件对这个帐号进行分析的时候进入全负荷状态甚至资源耗尽而死机。下面我们就来修改数据库吧。
    1、对表结构进行修改。将管理员的帐号字段的数据类型进行修改,文本型改成最大字段255(其实也够了,如果还想做得大点,可以选择备注型),密码的字段也进行相同的设置。
    2、对表进行修改。设置管理员权限的帐号放在ID1,并输入大量中文字符(最好大于100个字)。
    3、把真正的管理员密码放在ID2后的任何一个位置(如放在ID549上)。
    我们通过上面的三步完成了对数据库的修改。
    这时是不是修改结束了呢?其实不然,要明白你做的ID1帐号其实也是真正有权限的帐号,现在计算机处理速度那么快,要是遇上个一定要将它算出来的软件,这也是不安全的。我想这时大多数人已经想到了办法,对,只要在管理员登陆的页面文件中写入字符限制就行了!就算对方使用这个有上千字符的帐号密码也会被挡住的,而真正的密码则可以不受限制。
  • 相关阅读:
    UVa 10088 (Pick定理) Trees on My Island
    LA 3295 (计数 容斥原理) Counting Triangles
    LA 5846 (计数) Neon Sign
    java是什么?软帝学院告诉你学Java能做什么?Java有什么特性?
    【软帝学院】一套好的java基础教学视频需要哪些有哪些内容
    推荐五个java基础学习网站,小白必备
    学习java设计模式有用吗?懂这六个原则,编程更轻松
    Java是什么?只需5分钟,了解java必须要知道的知识点
    软帝学院:自学java到底难不难?做好这几步,少走3年弯路
    软帝学院:java开发程序很难吗?学会这十步,5分钟搞定一个程序
  • 原文地址:https://www.cnblogs.com/lgms2008/p/794804.html
Copyright © 2011-2022 走看看