9 Web脚本攻击幻灯片.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络安全 9 Web脚本攻击 何路 helu@ * Web脚本漏洞 网站服务器越来越多,主要涉及 SQL注入:通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令 跨站脚本攻击(XSS):攻击者通过在链接中插入恶意代码,就能够盗取用户信息。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。 SQL注入攻击原理 绕过认证:or a=a‘ 必须要有2个条件:1、账号密码的查询是要同一条查询语句;2、密码没有加密保护 判断能否进行SQL注入 判断数据库类型及注入方法 猜测表名和字段名 猜解用户名和密码 * 判断能否进行SQL注入 /login.asp?name=adminpass=admin Select * from users where uname = ‘输入的用户名’ and pass = ‘输入的密码’ 构造用户名: admin’ and ‘a’ = ‘a admin’ and ‘a’ = ‘b 如果① 同1、 ② 不同1,说明可以注入 如果① 、 ②均 不同1,说明不能注入 注意:需要根据传入参数的数据类型具体构造 * 判断数据库类型及注入方法 不同的数据库的函数、注入方法都是有差异的 SQLServer有一些系统变量,如果服务器IIS提示没关闭,并且SQLServer返回错误提示的话,就可以直接从出错信息获取 如果服务器IIS不允许返回错误提示,Access和 SQLServer都有自己的系统表,Access是在系统表[msysobjects]中,但在Web环境下读该表会提示“没有权限”,SQLServer是在表[sysobjects]中,在Web环境下可正常读取。 构造: and (select count(*) from sysobjects)0 and (select count(*) from msysobjects)0 * 猜测表名和字段名 构造:And (Select Count(*) from user)=0 and ‘a’=‘a 构造: And (Select Count(uname) from user)=0 and ‘a’=‘a 一般程序员会使用有意义的表名和字段名 反复穷举,如果页面工作正常,说明猜测正确 这里有一些偶然的成分,不存在100%成功的黑客技术,苍蝇不叮无缝的蛋,无论多技术多高深的黑客,都是因为别人的程序写得不严密或使用者保密意识不够,才有得下手。 * 猜解用户名和密码 确定字段长度 构造:and (select top 1 len(uname) from user)0 穷举各种可能… … 确定字段内容 构造:and (select top 1 asc(mid(username,1,1)) from user) = 1 穷举各种可能… … 可以使用二分搜索加快速度 * 利用系统表注入SQLServer举例 http://Site/url.asp?id=1;exec master..xp_cmdshell “net user name password /add”-- 先是Select出ID=1的记录,然后执行存储过程xp_cmdshell,这个存储过程用于调用系统命令,于是,用net命令新建了用户名为name、密码为password的windows的帐号, http://Site/url.asp?id=1;exec master..xp_cmdshell “net localgroup name administrators /add”-- 这种方法只适用于用sa连接数据库的情况,否则,是没有权限调用xp_cmdshell的。 * http://Site/url.asp?id=1 ;and db_name()0 返回的是连接的数据库名。 http://Site/url.asp?id=1;backup database 数据库名 to disk=’c:\inetpub\wwwroot\1.db’;-- 某些IIS出错暴露出的绝对路径,将数据库备份到Web目录下面,再用HTTP把整个数据库就完完整整的下载回来 * SQL注入防范 过滤关键词,如select、form、引号、分号等,这些关键词都是查询语句最常用的词语,一旦过滤了,那么用户自己构造提交的数据就不会完整地参与数据库的操作。 限制输入的长度 秘密字段使用散列函数进行保护 * 防范要严密 验证、过滤所有的输入 char(85)代替直接使用引号等 程序中使用类型安全的查询参数 避免在Like语句中使用% 使用SQL单一语句执行许可 /en-us/library/ms161953.aspx

文档评论(0)

jiquhe72163 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档