简单来说,网站一般都是由web应用程序,数据库,服务器等组成的,网站的所有用户数据,密码表单等等都是保存在数据库当中的,数据库的内容按到常理来说是只能在服务器内部进行查询,当然,但是,开发人员对客户端用户向客户端提交的参数没有进行过滤,那么,黑客就可以从客户端【浏览器,等等,详细可以学习http协议】向服务器提交查询数据库的SQL语句,如果提交的语句成功的被服务器给接收到并且执行么,那么黑客岂不是想怎么查询数据库里面的内容就怎么查询,不是么?那些管理账号密码,会员数据不是分分钟就到手了?SQL注入漏洞危害是非常大的。
当然,这种漏洞是根据提交参数没过滤而产生的,那么除了浏览器的get提交参数,http协议中还有,post提交,cookie提交,等等。注入漏洞不是网上那些所谓的黑阔,用什么啊D,明小子之类的乱检测一气而找出来的,如果楼主想研究这个漏洞的产生,原理,利用和防御,是需要进行代码审计,SQL注入语句基础,等等。
现在一般常用的工具:SQLmap【这是一款神器,现在是公认最强大的开源注入工具】
建议楼主去看几本书:《SQL注入天书》《SQL注入漏洞的产生与防御》
这个漏洞的利用不是几句话就能说清楚的,详细的可以追问,纯手工打字,望楼主采纳。
1.POST注入,通用防注入一般限制get,但是有时候不限制post或者限制的很少,这时候你就可以试下post注入,比如登录框、搜索框、投票框这类的。另外,在asp中post已被发扬光大,程序员喜欢用receive来接受数据,这就造成了很多时候get传递的参数通过post/cookie也能传递,这时如果恰好防注入程序只限制了get,因此post注入不解释2.cookie注入,原理同post注入,绕过相当多通用防注入
3.二次注入,第一次注入的数据可能不会有效,但是如果将来能在某个页面里面被程序处理呢?注入来了……
4.csrf,适合后台地址已知并且存在已知0day,可以试试用csrf劫持管理员来进行 *** 作(这招其实不属于sql注入了)
5.打碎关键字,比如过滤select,我可以用sel/**/ect来绕过,这招多见于mysql
6.有时候也可以sELeCT这样大小写混淆绕过
7.用chr对sql语句编码进行绕过
8.如果等于号不好使,可以试试大于号或者小于号,如果and不好使可以试试or,这样等价替换
9.多来几个关键字确定是什么防注入程序,直接猜测源码或者根据报错关键字(如"非法 *** 作,ip地址已被记录")把源码搞下来研究
10.记录注入者ip和语句并写入文件或数据库,然而数据库恰好是asp的,插马秒杀
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)