J如何防范SQL注入攻击_JSP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

J如何防范SQL注入攻击

作者:黑客防线网安JSP教程基地 来源:黑客防线网安JSP教程基地 浏览次数:0

本篇关键词:攻击注入防范如何
黑客防线网安网讯:上周给别人做了个网站,无意间发现自己的作品有很多漏洞,在短短的20秒就被自己用sql注入法给干了。所以查了一点关于sql注入的资料,并且有点感悟,希望能与新手们分享一下。高手们见笑了!...

上周给别人做了个网站无意间发现自己的作品有很多漏洞在短短的20秒就被自己用sql注入法给干了所以查了一点关于sql注入的资料,并且有点感悟,希望能与新手们分享一下高手们见笑了!

SQL注入攻击的总体思路:

发现SQL注入位置;

判断服务器类型和后台数据库类型;

确定可执行情况

对于有些攻击者而言,一般会采取sql注入法。下面我也谈一下自己关于sql注入法的感悟。

注入法:

从理论上说,认证网页中会有型如:

select * from admin where username='XXX' and password='YYY' 的语句,若在正式运行此句之前,如果没有进行必要的字符过滤,则很容易实施SQL注入。

如在用户名文本框内输入:abc’ or 1=1-- 在密码框内输入:123 则SQL语句变成:

select * from admin where username='abc’ or 1=1 and password='123’ 不管用户输入任何用户名与密码,此语句永远都能正确执行,用户轻易骗过系统,获取合法身份。

猜解法:

基本思路是:猜解所有数据库名称,猜出库中的每张表名,分析可能是存放用户名与密码的表名,猜出表中的每个字段名,猜出表中的每条记录内容。

还有一种方式可以获得你的数据库名和每张表的名。

就是通过在形如:http://www. .cn/news?id=10'的方式来通过报错获得你的数据库名和表名!

对于jsp而言我们一般采取一下策略来应对:

1、PreparedStatement

如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.

以下是几点原因

1、代码的可读性和可维护性.

2、PreparedStatement尽最大可能提高性能.

3、最重要的一点是极大地提高了安全性.

到目前为止,有一些人(包括本人)连基本的恶义SQL语法都不知道.

String sql = "select * from tb_name where name= '"+varname+"' and passwd='"+varpasswd+"'";
如果我们把[' or '1' = '1]作为name传入进来.密码随意,看看会成为什么? 网管网bitsCN.com

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-16652-1.html
网站维护教程更新时间:2012-04-07 00:44:24  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer