登录论坛 | 注册会员 设为首页 | 收藏本站
当前位置 : 首页>软件学院>数据库>SQL>正文
 
GreenSQL助力防止SQL注入攻击

http://www.dbit.cn 2009/3/21 9:04:58  来源:东北IT网  编辑:叶子
 
# mysql -p
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> GRANT ALL ON test.* TO ben@"%";
mysql> FLUSH PRIVILEGES;
默认情况下,GreenSQL运行在3305端口上,小于MySQL的默认端口(3306)。如果你使用mysql控制台客户端并连接到GreenSQL的3305 端口上,你将无法创建新表。如果你直接通过3306端口连接到MySQL,就可以创建新表。
$ mysql --verbose  -h  127.0.0.1 -P 3305 test
mysql> create table foo ( id int );
--------------
create table foo ( id int )
--------------
Query OK, 0 rows affected (0.01 sec)
mysql> insert into foo values ( 55 );
--------------
insert into foo values ( 55 )
--------------
ERROR 1146 (42S02): Table 'test.foo' doesn't exist
$ mysql --verbose  -h  127.0.0.1   -P 3306 test
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql> create table foo ( id int );
--------------
create table foo ( id int )
--------------
Query OK, 0 rows affected (0.01 sec)
mysql> insert into foo values ( 55 );
--------------
insert into foo values ( 55 )
--------------
Query OK, 1 row affected (0.00 sec)
mysql> insert into foo values ( 131 );
--------------
insert into foo values ( 131 )
--------------
Query OK, 1 row affected (0.00 sec)
mysql>  select * from foo;
--------------
select * from foo
--------------
+------+
  id    
+------+
    55   
   131   
+------+
2 rows in set (0.00 sec)
  如果使用默认配置,你将无法通过GreenSQL防火墙丢弃数据表。这倒无妨,因为表结构不太可能经常改变,更不可能通过Web界面改 变。
$ mysql --verbose  -h  127.0.0.1   -P 3305 test
Welcome to the MySQL monitor. Commands end with ; or \g.
mysql>  select * from foo;
--------------
select * from foo
--------------
+------+
  id    
+------+
    55   
   131   
+------+
2 rows in set (0.00 sec)
mysql> drop table foo;
--------------
drop table foo
--------------
Query OK, 0 rows affected (0.00 sec)
mysql>  select * from foo;
--------------
select * from foo
--------------
+------+
  id    
+------+
    55   
   131   
+------+
2 rows in set (0.01 sec)
  注入测试看来没有如所期望的那样正常工作。第一次测试是在条件一直为真时删除表。这会清除表内的所有数据,留下一个空表。默 认地此查询会通过防火墙进行:
$ mysql --verbose  -h  127.0.0.1   -P 3305 test
mysql> delete from foo where 1=1;
--------------
delete from foo where 1=1
--------------
Query OK, 2 rows affected (0.00 sec)
mysql>  select * from foo;
--------------
select * from foo
--------------
Empty set (0.00 sec)
  对于上面的SQL删除命令来说,/var/log/greensql.log文件包含了下面的信息:
SQL_DEBUG: QUERY command[]: delete from foo where 1=1
SQL_DEBUG: AFTER NORM   : delete from foo where ?=?
SQL_DEBUG: RISK         : 0
  /etc/greensql/greensql.conf文件准许你设置某些内容的风险程度。例如,你可以将10指定给union关键字使用,或者在查询中使用 直接的变量比较(如同1=2之类的东西)。这些变量包括“block_level = 30”,所以RISK大于30的任何查询都不转发给MySQL服务器 。为了让GreenSQL标记出上面的查询,笔者将risk_var_cmp_var 和 risk_always_true从默认的30增加至150。但很不幸,这次查询 看起来仍是风险为零。

本新闻共3页,当前在第2页  1  2  3  

收藏】【打印】【进入论坛
  相关文章:

·MySQL CEO加入基准基金公司
·MySQL创始人联合14000人反对甲骨文收购Sun
·MySQL创始人呼吁用户反对甲骨文收购Sun
·94%浏览器攻击发生在漏洞公布的24小时之内
·五大著名免费SQL注入漏洞扫描工具
·如何防御网站SQL注入
·SQL攻击:防御和检查SQL注入的手段
·解析SQL注入 十大方式保护数据安全
·用SQL分离器实现sa弱口令强行入侵
·检测SQL Server是否有特洛伊木马 
·使用SQL更改SQL 2005 sa用户密码的方法

 
 
 
最新文章

抢先苹果,消息称英特尔芯片采用台积电
三星揭晓业内首款单条 512GB DDR5 内存
vivo 高端新机爆料:120Hz 曲面屏 + 天
vivo Y21 在印度正式上市:Helio P35 芯
微星推出 GeForce RTX 3080 Sea Hawk X
消息称三星 Galaxy Tab S8 系列平板将放
机械革命推出 F6 轻薄本:16 英寸全面屏
英特尔 12 代 Alder Lake CPU 600 系列
雷军:向小米手机 1 首批用户每人赠送价
小米李明谈用户被踢出 MIUI 测试版:大

推荐文章
1
2
3
4
5
6
7
8
9
10
叛逆嫩模性感写真
宫如敏不雅照疯传 看张馨予韩一菲兽兽谁
不惧孔子抢位 阿凡达游戏影音配置推荐
2015第十七届“东北安博会”火爆招商
第十六届东北国际公共安全防范产品博览
2016年第五届中国国际商业信息化博览会
2016年第五届中国国际POS机及相关设备展
互联网电视熟了吗 2013最火电视深解析
桑达获邀出席2015中国(广州)国际POS机
宝获利报名参加“2015年度中国POS机行业
八卦图解 More>>
叛逆嫩模性感写真 宫如敏不雅照疯传 看张馨予韩一菲
周伟童魔鬼身材日本性感写真图  联想V360笔记本模特写真