本文目录一览:
黑客必知SQL语句
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说明:创建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根据已有的表创建新表:
A:create table tab_new like tab_old (使用旧表创建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、说明:删除新表
drop table tabname
6、说明:增加一个列
Alter table tabname add column col type
注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
7、说明:添加主键: Alter table tabname add primary key(col)
说明:删除主键: Alter table tabname drop primary key(col)
8、说明:创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
注:索引是不可更改的,想更改必须删除重新建。
9、说明:创建视图:create view viewname as select statement
删除视图:drop view viewname
10、说明:几个简单的基本的sql语句
选择:select * from table1 where 范围
插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
排序:select * from table1 order by field1,field2 [desc]
总数:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select ***g(field1) as ***gvalue from table1
更大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、说明:几个高级查询运算词
A: UNION 运算符
UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
12、说明:使用外连接
A、left outer join:
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C:full outer join:
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
黑客界中的语言是什么东西啊?
我查一下,计算机语言,c++是一门计算机语言,面向对象的语言。学之前还是学c语言吧,这个比较基础!是一门面向过程语言!学习黑客要了解一下 *** 安全,还有 *** 协议,分析 *** 漏洞!漏洞分为web漏洞和软件漏洞等!至于学黑客技术部需要什么学业毕业的,现在有正在上学,学习这个黑客技术!最主要还是懂英语比较好点!这是主要的!有些技术在国外书或者教程上,所以懂点英语还是很有好处的!不懂英语你就用词典翻译下就行了!在编程中英语单词用的很少,适当学的英语没坏处!
在学编程的时候,比如c语言!首先要选好书籍!c语言就《c primer plus》或者《c语言程序设计》,边看边在编译器运行一下,我用的是vc++6.0编译器!
新手学黑客,最起码要知道计算机基础啥的 !对本机的系统比较了解一下比较好点!
想了解的看下面!
学习黑客需要有耐心,要有 *** 的教程,才可以学会,首先要有视频讲解,靠个人的参悟是很难学会的,想学下面了解下学习黑客的步骤:一、前期 1、了解什么是黑客,黑客的精神是什么。当然了解一下几大着名黑客或骇客的“发家史”也是很有必要的。 2、黑客必备的一些基础命令,包括DOS命令,以及UNIX / Linux下的命令。 3、远程扫描、远程刺探技术。包括通过系统自带命令的信息刺探以及使用工具扫描等。 4、密码破解。了解现在的密码破解的适用范围,以及操作技巧等等。 5、溢出攻击。溢出工具的使用 *** 。 6、注入攻击。注入攻击只是一个简称,这里还要包括XSS、旁注、远程包含等一系列脚本攻击技巧。 7、学会各种编译工具的使用 *** ,能编译所有ShellCode。 8、学会手动查杀任何木马、病毒,学会分析Windows操作系统,以使自己百毒不侵。 二、中期 1、学习所有Windows下服务器的搭建步骤(ASP、PHP、 *** P)。 2、掌握例如Google黑客、cookies 、 *** 钓鱼、社会工程学等等等等。 3、学习HTML、JavaScript、VBScript。 4、学习标准SQL语言,以及大多数数据库的使用。 5、学习ASP,并拥有发掘ASP脚本漏洞的能力。 6、学习PHP,并拥有发掘PHP脚本漏洞的能力。 7、学习 *** P,并拥有发掘 *** P脚本漏洞的能力。 8、学习掌握最新脚本的特性性以及发掘漏洞的 *** ,例如眼下的WEB2.0。(A1Pass注:) 三、后期 1、确定自己的发展方向 2、学习C语言,并尝试改写一些已公布的ShellCode。 3、学习C ,尝试编写一个属于自己的木马(如果你想自己编写木马的话)。 4、学习汇编 5、研究Linux系统内核。 6、学习缓冲区溢出利用技术。 7、ShellCode技术。 8、堆溢出利用技术、格式化串漏洞利用技术、内核溢出利用技术、漏洞发掘分析
黑客游戏SQL注入这一关怎么破
百度百科:
SQL注入攻击是你需要担心的事情,不管你用什么web编程技术,再说所有的web框架都需要担心这个的。你需要遵循几条非常基本的规则:
1)在构造动态SQL语句时,一定要使用类安全(type-safe)的参数加码机制。大多数的数据API,包括ADO和ADO. NET,有这样的支持,允许你指定所提供的参数的确切类型(譬如,字符串,整数,日期等),可以保证这些参数被恰当地escaped/encoded了,来避免黑客利用它们。一定要从始到终地使用这些特性。
例如,在ADO. NET里对动态SQL,你可以象下面这样重写上述的语句,使之安全:
Dim SSN as String = Request.QueryString("SSN")
Dim cmd As new SqlCommand("SELECT au_lname,au_fname FROM authors WHERE au_id = @au_id")
Dim param = new SqlParameter("au_id",SqlDbType.VarChar)
param.Value = SSN
cmd.Parameters.Add(param)
这将防止有人试图偷偷注入另外的SQL表达式(因为ADO. NET知道对au_id的字符串值进行加码),以及避免其他数据问题(譬如不正确地转换数值类型等)。注意,VS 2005内置的TableAdapter/DataSet设计器自动使用这个机制,ASP. NET 2.0数据源控件也是如此。
一个常见的错误知觉(misperception)是,假如你使用了存储过程或ORM,你就完全不受SQL注入攻击之害了。这是不正确的,你还是需要确定在给存储过程传递数据时你很谨慎,或在用ORM来定制一个查询时,你的做法是安全的。
2) 在部署你的应用前,始终要做安全审评(security review)。建立一个正式的安全过程(formal security process),在每次你做更新时,对所有的编码做审评。后面一点特别重要。很多次我听说开发队伍在正式上线(going live)前会做很详细的安全审评,然后在几周或几个月之后他们做一些很小的更新时,他们会跳过安全审评这关,推说,“就是一个小小的更新,我们以后再做编码审评好了”。请始终坚持做安全审评。
3) 千万别把敏感性数据在数据库里以明文存放。我个人的意见是,密码应该总是在单向(one-way)hashed过后再存放,我甚至不喜欢将它们在加密后存放。在默认设置下,ASP. NET 2.0 Membership API 自动为你这么做,还同时实现了安全的SALT 随机化行为(SALT randomization behavior)。如果你决定建立自己的成员数据库,我建议你查看一下我们在这里发表的我们自己的Membership provider的源码。同时也确定对你的数据库里的信用卡和其他的私有数据进行了加密。这样即使你的数据库被人入侵(compromised)了的话,起码你的客户的私有数据不会被人利用。
4)确认你编写了自动化的单元测试,来特别校验你的数据访问层和应用程序不受SQL注入攻击。这么做是非常重要的,有助于捕捉住(catch)“就是一个小小的更新,所有不会有安全问题”的情形带来的疏忽,来提供额外的安全层以避免偶然地引进坏的安全缺陷到你的应用里去。
5)锁定你的数据库的安全,只给访问数据库的web应用功能所需的更低的权限。如果web应用不需要访问某些表,那么确认它没有访问这些表的权限。如果web应用只需要只读的权限从你的account payables表来生成报表,那么确认你禁止它对此表的 insert/update/delete 的权限。
6)很多新手从网上SQL通用防注入系统的程序,在需要防范注入的页面头部用 来防止别人进行手动注入测试(。
可是如果通过SQL注入分析器就可轻松跳过防注入系统并自动分析其注入点。然后只需要几分钟,你的管理员及密码就会被分析出来。
7)对于注入分析器的防范,笔者通过实验,发现了一种简单有效的防范 *** 。首先我们要知道SQL注入分析器是如何工作的。在操作过程中,发现并不是冲着“admin”管理员去的,而是冲着权限(如flag=1)去的。这样一来,无论你的管理员怎么变都无法逃过检测。
第三步:既然无法逃过检测,那我们就做两个,一个是普通的管理员,一个是防止注入的,为什么这么说呢?笔者想,如果找一个权限更大的制造假象,吸引的检测,而这个里的内容是大于千字以上的中文字符,就会迫使对这个进行分析的时候进入全负荷状态甚至资源耗尽而死机。下面我们就来修改数据库吧。
⒈对表结构进行修改。将管理员的字段的数据类型进行修改,文本型改成更大字段255(其实也够了,如果还想做得再大点,可以选择备注型),密码的字段也进行相同设置。
⒉对表进行修改。设置管理员权限的放在ID1,并输入大量中文字符(更好大于100个字)。
⒊把真正的管理员密码放在ID2后的任何一个位置(如放在ID549上)。
由于SQL注入攻击针对的是应用开发过程中的编程不严密,因而对于绝大多数防火墙来说,这种攻击是“合法”的。问题的解决只有依赖于完善编程。专门针对SQL注入攻击的工具较少,Wpoison对于用asp,php进行的开发有一定帮助。
怎么防止黑客通过SQL攻击系统??
给你找一篇:
1. 不信任任何人:假设所有用户递交的数据全部危险,对所有数据都进行验证。
2. 没必要的话,就不要使用动态SQL:包括使用过的预备陈述,参数化的查询或保存好的进程。
3. 更新和补丁:通常程序和数据库中都存在黑客可以通过SQL注入而利用的漏洞,因此非常有必要使用程序补丁和更新。
4. 防火墙:无论是基于软件还是基于设备,都可考虑使用Web应用防火墙(WAF)来过滤恶意数据。好的防火墙具备一套完整的默认规则,而且很容易随时添加新规则。一个WAF可以在新漏洞的相应补丁推出前,为用户提供有效的安全保护。
5. 减少攻击界面:及时对数据库的功能进行处理,以免被黑客利用。例如,xp_cmdshell扩展了MS SQL中保存的进程,而这使得Windows命令窗口激增,并且还通过了一个用于执行的字符串,这些无疑都对黑客有益。被xp_cmdshell激增的Windows进程有着和SQL Server服务帐户相同的优先安全权限。
6. 使用合适的权限:使用管理员级别权限的时候不要连接你的数据库,除非迫不得已。使用有限的帐户权限有利于数据安全,而且这样也能限制黑客的权限。
7. 保密隐私:假设你的应用不安全,而且会随加密操作或哈希密码以及其他机密数据,包括连接字符串,作出相应调整。
8. 不要泄露过多信息:黑客可以从出错信息中读取大量有关数据库架构的信息,因此要确保这些出错信息中尽可能显示比较少的信息。使用RemoteOnly CustomErrors模式在本地电脑上显示冗长的错误信息,如此外部黑客的不良操作就只能收到无法操作的出错信息。
9. 不要忘记根本原则:经常更改应用帐户的密码。虽然这是常识,但是实际生活中,很多人的密码都是几个月甚至几年也难换一次。
10. 购买更好的软件:在买下软件前,就让代码编写者先检查代码并修复客户应用中的安全漏洞。
对sql数据库 有些攻击方式?
提到sa弱口令,我们首先就会想到,许多数据库都有1个类似的超级管理员账号,比如:Oracle是"system"和"sys",Sybase也是"sa",MySQL里有"root"(不是UNIX系统账号的那个root)。如果没有设置相对应的密码或者你设的密码强度太低过于简单,那么入侵者就能直接登陆并攻击数据库服务器,他们甚至可以获得你操作系统的更高级别的权限。说到这里,有的人也许不相信,曾经有人和我说:"数据库被攻破最多你的那些表啊什么的被人家拿走,对方怎么可能获得操作系统更高权限呢?"其实,我并不是在危言耸听,下面我就假设某台SQL Server 2000的数据库的SA密码被破解为例,来看看黑客在取得了数据库权限后如何进1步把自己变成系统的管理员。
目前, *** 上有不少此类工具,可以方便那些不熟悉SQL的人用,其实完全不用去下载那种工具,只要用微软自己的SQL Server里自带客户端程序连上去就马上可以轻松的把自己变成整个操作系统的超级管理员了。具体的过程,我就为大家讲解1遍,这里先假设黑客已经通过其他工具暴力破解了你设置的强度教低的sa帐号的弱口令,或者你根本就没有为sa账号设置口令。首先黑客打开SQL Server查询分析器,以sa身份和他刚暴力破解的密码登陆进你的SQL Server数据库,然后他执行以下语句:
xp_cmdshell "net user zxc nopassword /add" go xp_cmdshell "net localgroup /add administrators zxc" go
这时候,你如果打开你的计算机管理-本地用户和组-用户,这时候你会发现里面已经多出了1个叫zxc的新账号,查看一下此帐号的属性,你更会发现他竟然隶属于administrators组。