仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 746|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL网页设计针对SQL INJECTION的SQL SERVER平安设置...

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
当然,或许这并不是我们拒绝MySQL的一个有说服力的MySQL学习教程,但是对于一些比较守旧的IT经理来说,在为一些关键业务选择平台的时候,平台的成熟性却是必须要考虑的一个因素,在这一点上,MySQL无疑毫无优势。server|平安日前SQLINJECTION的打击测试愈演愈烈,良多年夜型的网站和论坛都接踵被注进。这些网站一样平常利用的多为SQLSERVER数据库,正由于云云,良多人入手下手嫌疑SQLSERVER的平安性。实在SQLSERVER2000已经由过程了美国当局的C2级平安认证-这是该行业所能具有的最高认证级别,以是利用SQLSERVER仍是相称的平安的。固然和ORCAL、DB2等仍是有差异,可是SQLSERVER的易用性和普遍性仍是能成为我们持续利用下往的来由。那怎样才干使SQLSERVER的设置让人利用的宁神呢?
第一步一定是打上SQLSERVER最新的平安补钉,如今补钉已出到了SP3。下载地点:http://www.microsoft.com/sql/downloads/2000/sp3.asp。假如这一步都没有做好,那我们也没有持续下往的需要了。
第二步是修正默许的1433端口,而且将SQLSERVER埋没。如许能克制对试图列举收集上现有的SQLServer客户端所收回的播送作出呼应。别的,还必要在TCP/IP选择中将1433端口屏障失落,尽量的埋没你的SQLSERVER数据库。如许子一但让打击创立了SQLSERVER的账号,也不克不及即刻利用查询剖析器远程上岸来举行下一步的打击。单从ASP,PHP等页面机关歹意语句的话,另有必要检察前往值的成绩,总比不上间接查询剖析器来得拖拉。以是我们起首要做到即便让他人注进了,也不克不及让打击者下一步做得别扭。修正办法:企业办理器-->你的数据库组-->属性-->惯例-->收集设置-->TCP/IP-->属性,在这儿将你的默许端口举行修正,和SQLSERVER的埋没。
第三步是很主要的一步,SQLINJECTION常常在WEBCODE中发生。而做为体系办理员大概数据库办理员,总不克不及经常的往看每段代码。即便经常看代码,也不克不及包管我们在下面的忽略。那怎样办?我们就要从数据库脚色动手,让数据库用户的权限分别到最低点。SQLSERVER的默许权限让人真的很头疼,权限年夜得十分的高,权限小的又甚么都做不了,SYSADMIN和db_owner真是让人又爱又恨。打击者一但确认了网站存在SQLINJECTION毛病,一定有一步操纵步骤就是测试网站的SQLSERVER利用者具有多年夜的权限。一样平常城市借助SELECTIS_SRVROLEMEMBER(sysadmin),大概SELECTIS_MEMBER(db_owner),再大概用user=0(让字符和数字举行对照,SQLSERVER就会提醒了毛病信息,从该信息中便可晓得一些敏感信息)等语句举行测试。办法另有,我也不敢多说了。其一怕错,其二怕同盟中的人扁。在以后,假如网站的数据库利用者用的是SA权限,再加上确认了WEB所处在的相对路径,那末就宣布了你的网站的OVER。db_owner权限也一样,假如确认了相对路径,那末有50%的时机能给你的呆板中上WEB体例的木马,如海阳等。以是这儿我们确认了一点,我们必需要创立自已的权限,让打击者找不着下嘴的中央。在这儿援用一个SQLSERVER联机匡助中的例子:
创立SQLServer数据库脚色的办法(企业办理器)
创立SQLServer数据库脚色
1.睁开服务器组,然后睁开服务器。
2.睁开"数据库"文件夹,然后睁开要在个中创立脚色的数据库。
3.右击"脚色",然后单击"新建数据库脚色"命令。
4.在"称号"框中输出新脚色的称号。
5.单击"增加"将成员增加到"尺度脚色"列表中,然后单击要增加的一个或多个用户。(可选)
只要选定命据库中的用户才干被增加到脚色中。
工具权限
处置数据或实行历程时必要称为工具权限的权限种别:
・SELECT、INSERT、UPDATE和DELETE语句权限,它们能够使用到全部表或视图中。
・SELECT和UPDATE语句权限,它们能够有选择性地使用到表或视图中的单个列上。
・SELECT权限,它们能够使用到用户界说函数。
・INSERT和DELETE语句权限,它们会影响整行,因而只能够使用到表或视图中,而不克不及使用到单个列上。
・EXECUTE语句权限,它们能够影响存储历程和函数。
语句权限
创立数据库或数据库中的项(如表或存储历程)所触及的举动请求另外一类称为语句权限的权限。比方,假如用户必需可以在数据库中创立表,则应当向该用户授与CREATETABLE语句权限。语句权限(如CREATEDATABASE)合用于语句本身,而不合用于数据库中界说的特定工具。
语句权限有:
・BACKUPDATABASE
・BACKUPLOG
・CREATEDATABASE
・CREATEDEFAULT
・CREATEFUNCTION
・CREATEPROCEDURE
・CREATERULE
・CREATETABLE
・CREATEVIEW
表示性权限
表示性权限把持那些只能由预界说体系脚色的成员或数据库工具一切者实行的举动。比方,sysadmin流动服务器脚色成员主动承继在SQLServer安装中举行操纵或检察的全体权限。
数据库工具一切者另有表示性权限,能够对所具有的工具实行统统举动。比方,具有表的用户能够检察、增加或删除数据,变动表界说,或把持同意其他用户对表举行操纵的权限。
db_owner在数据库中有全体权限。
db_accessadmin能够增加或删除用户ID。
db_securityadmin能够办理全体权限、工具一切权、脚色和脚色成员资历。
db_ddladmin能够收回ALLDDL,但不克不及收回GRANT、REVOKE或DENY语句。
db_backupoperator能够收回DBCC、CHECKPOINT和BACKUP语句。
db_datareader能够选择数据库内任何用户表中的一切数据。
db_datawriter能够变动数据库内任何用户表中的一切数据。
db_denydatareader不克不及选择数据库内任何用户表中的任何数据。
db_denydatawriter不克不及变动数据库内任何用户表中的任何数据。
在这儿把新建的数据库脚色的权限设置好,好比必要利用哪一个表、视图、存储历程等。然后把Db_owner和db_securityadmin、db_backupoperator作废,不给打击者BACKUPDATABASE和CREATETABLE的时机,一但打击者具有这两个权限,那末你的网站就还处在非常伤害的形态。另有注重一下,在创立数据库账号时,万万不克不及对服务器脚色举行选择。

第四步是修正SQLSERVER内置存储历程。SQLSERVER估量是为了安装大概别的方面,它内置了一批伤害的存储历程。能读到注册表信息,能写进注册表信息,能读磁盘共享信息等等……列位看到这儿,内心大概会在想,我的网站中有别的的代码,又不像查询剖析器那样能查接将了局输入。给你这个权限,又不克不及怎样,仍是看不到信息。假如列位如许想就年夜错特错了。提醒一下,假如打击者有CREATETABLE的权限,那末创立一个一时表,然后将信息INSERT到表中,然SELECT出来,接着跟数字举行对照,让SQLSERVER报错,那末了局就全出来了……以是我们要报着宁错杀,不放过的立场举行修补。
先来列出伤害的内置存储历程:
xp_cmdshell
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
xp_regread
xp_regremovemultistring
xp_regwrite
ActiveX主动剧本:
sp_OACreate
sp_OADestroy
sp_OAMethod
sp_OAGetProperty
sp_OASetProperty
sp_OAGetErrorInfo
sp_OAStop
以上各项全在我们封杀之列,比方xp_cmdshell屏障的办法为:sp_dropextendedprocxp_cmdshell,假如必要的话,再用sp_addextendedprocxp_cmdshell,xpsql70.dll举行恢复。假如你不晓得xp_cmdshell利用的是哪一个.dll文件的话,可使用sp_helpextendedprocxp_cmdshell来检察xp_cmdshell利用的是哪一个静态连接库。别的,将xp_cmdshell屏障后,我们还必要做的步骤是将xpsql70.dll文件举行更名,以避免取得SA的打击者将它举行恢复。
我们做到这儿,你的SQLSERVER就基础上平安了。可是信息仍是能一样的外泄。究竟SELECT我们是没法作废的,除非你的网站用的是HTML。SQLINJECTION的提防还必要我们这些程序员来注重,这才是治标之法。我们在初级设置篇再接着对SQLSERVER的平安做下一步的剖析。该篇文章假如有甚么讹夺,请人人多多包容。感谢……
尽管DBaaS模式有缺点,但它还是适合某些客户群体,这为解决方案提供商提供了新的商机。鉴于云服务的增长,解决方案提供商除了拥抱这些技术还有什么选择呢?如果他们不这样做,他们就会冒着被竞争对手击败的风险。但他们不能只想到如何把DBaaS的利润率与企业内部系统相比较。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-19 16:54:41 | 只看该作者
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
小女巫 该用户已被删除
板凳
发表于 2015-1-28 05:25:09 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
admin 该用户已被删除
地板
发表于 2015-2-5 14:13:39 | 只看该作者
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
简单生活 该用户已被删除
5#
发表于 2015-3-2 22:11:50 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-3-11 06:54:40 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
变相怪杰 该用户已被删除
7#
发表于 2015-3-17 23:07:58 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
兰色精灵 该用户已被删除
8#
发表于 2015-3-25 05:54:09 | 只看该作者
光写几个SQL实在叫无知。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 06:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表