网络脚本攻击与防御ppt

网络脚本攻击与防御ppt

ID:37446315

大小:2.21 MB

页数:67页

时间:2019-05-12

网络脚本攻击与防御ppt_第1页
网络脚本攻击与防御ppt_第2页
网络脚本攻击与防御ppt_第3页
网络脚本攻击与防御ppt_第4页
网络脚本攻击与防御ppt_第5页
资源描述:

《网络脚本攻击与防御ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章脚本攻击与防御1SQL注入技术什么是SQL注入技术?SQL注入即是指攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询。分析一个经典的SQL注入漏洞dimrsadmin1=request("admin")password1=request("password")setrs=server.CreateObject("ADODB.RecordSet")rs.open"select*fromadminwhereadmin='"&admin1&"'andpassword='"&password1&"'",conn,1ifrs.eofan

2、drs.bofthenresponse.write"alert('用户名或密码不正确!');"response.write"javascript:history.go(-1)"response.endelsesession("admin")=rs("admin")session("password")=rs("password")session("aleave")=rs("aleave")response.redirect"admin.asp"endifrs.closesetrs=nothing一个经典的SQL注入漏洞分

3、析在用户名和密码那里都填入‘OR‘’=’,SQL语句被构造成select*fromadminwhereadmin=‘'OR‘'=‘'andpassword=‘'OR‘'=‘‘意思是当admin为空或者空等于空,password为空或者空等于空的时候整个查询语句就为真。如何来修补漏洞?过滤掉其中的特殊字符。这里我们就过滤掉其中的单引号“'”,即是把程序的头两行改为:admin1=replace(trim(request("admin")),"'","")password1=replace(trim(request("password")),"'","")判断数据库的类型服务器的IIS错误提示没

4、关闭提交http://localhost/test/onews.asp?id=37’:1、如果是Access数据库,那么应该返回:MicrosoftJETDatabaseEngine错误'80040e14'字符串的语法错误在查询表达式'id=37''中。/onews.asp,行8Eg:http://www.51dinggui.com/article.asp?id=102、如果是SQLServer数据库,那么应该返回:MicrosoftOLEDBProviderforODBCDrivers错误'80040e14'[Microsoft][ODBCSQLServerDriver][SQLServe

5、r]字符串''之前有未闭合的引号。/onews.asp,行8服务器的IIS错误提示关闭了根据Access和SQLServer自己的系统表来区分。Access是在系统表[msysobjects]中,但在Web环境下读该表会提示“没有权限”,SQLServer是在表[sysobjects]中,在Web环境下可正常读取。提交:http://localhost/test/onews.asp?id=37and(selectcount(*)fromsysobjects)>0如果是Access数据库,因为不存在sysobjects表,所以返回结果应该和正常页面有很大区别;如果是SQLServer,则应该返

6、回一个查询成功的正常页面。1.1Access数据库的注入把IE菜单=>工具=>Internet选项=>高级=>显示友好HTTP错误信息前面的勾去掉,这样可以显示出现的错误信息。分析一次完整的SQL注入。<%owen=request("id")Setrsnews=Server.CreateObject("ADODB.RecordSet")sql="updatenewssethits=hits+1whereid="&cstr(request("id"))conn.executesqlsql="select*fromnewswhereid="&owenrsnews.Opensql,conn,1,1

7、title=rsnews("title")ifrsnews.eofandrsnews.bofthenresponse.Write("数据库出错")else%>http://localhost/test/onews.asp?id=37http://localhost/test/onews.asp?id=37and1=2sql=select*fromnewswhereid=37and1=2http://local

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。