- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析SQL注入
浅析Sql注入(Sql Injection) * 什么是Sql注入 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。 用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS(Web服务器)日志的习惯,可能被入侵很长时间都不会发觉。 但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。 为什么会用Sql注入 1. 没有使用PreparedStatement对象的setString()等方法进行传参,而是使用的“拼串”方式。 例如: Sql注入是怎样产生的(Java Web) public foodBean getFoodById(String id){ con=this.getCon(); String sql=select * from foodinfo where foodId =+id+; System.out.println(sql); stmt=con.prepareStatement(sql); rs=stmt.executeQuery(); … 导致非法参数传入,构造成非法的sql语句! 例如在此处给id传入值为“ 20’ ; (任意sql语句) ; --- ”, 构造成 select * from foodinfo where foodId =‘20 ’ ; (任意sql语句) ; --- 怎样进行Sql注入(Java Web) 如何测试是否存在Sql注入(一) 示例: 如 http://localhost:8080/restrantNew/details.jsp?foodID=02 1.在此URL尾处加上单引符号“ ‘ ” 2.最终执行的sql语句则是 select * from foodinfo where foodId =‘20’’ 3.页面出现错误,因为语句中出现未闭合的单引号。 结论:加单引号和不加此单引号返回显示的页面不相同,可判断为此处存在Sql注入漏洞! 怎样进行Sql注入(Java Web) 如何测试是否存在Sql注入(二) 有些程序中简单的过滤掉了单引号,如果你用单引号测试,是测不到注入点的 那么,什么样的测试方法才是比较准确呢?答案如下: http://localhost:8080/restrantNew/details.jsp?foodID=02 ’ and 1=1 http://localhost:8080/restrantNew/details.jsp?foodID=02 ‘ and 1=2 这就是经典的1=1、1=2测试法了,怎么判断呢? ①返回正常页面,②出现错误,则此处存在Sql注入漏洞! 怎样进行Sql注入(Java Web) SQL注入的一般步骤 (一) 判断环境,寻找注入点,判断数据库类型 根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种 ID=20 这类注入的参数是数字型,SQL语句原貌大致如下: Select * from 表名 where 字段=49 注入的参数为ID=49 And [查询条件],即是生成语句: Select * from 表名 where 字段=49 And [查询条件] type=Student 这类注入的参数是字符型,SQL语句原貌大致概如下: Select * from 表名 where 字段=Student 注入的参数为type=Student and [查询条件] -- ,即是生成语句: Select * from 表名 where 字段Student and [查询条件] – 搜索时没过滤参数的,如keyword=关键字,SQL语句原貌大致如下: Select * from 表名 where 字段 like %关键字% 注入参数省略 怎样进行Sql注入(Java Web) SQL注入的一般步骤 (二) 将查询条件替换成SQL语句,猜解表名、字段名…… 猜测是否存在此表、和字段 1. And (Sele
您可能关注的文档
- 动项目的组织与管理.ppt
- 动策划【工商银行】.ppt
- 度,活度系数,标准态,参考态 概念问题.ppt
- 剖析活动目录的卸载与安装.ppt
- 动各种亮点.ppt
- 性染料(结构).ppt
- 件异常处理及操作培训_a5.ppt
- 出所消防监督执法培训课件2011.ppt
- 剖析流体力学(相似原理与 ).ppt
- 体力学(孔口管嘴出流与有压管流).ppt
- 中信建投-交运设备-客车行业深度:出口内需共振向上中国品牌走向全球——建议重点关注出海方向.pdf
- 华金证券-多浦乐-301528-本土高性能超声检测领军企业,或正站在新一轮快速发展起点.pdf
- 兴业证券-宏观策略-兴证海外2025年8月金股组合.pdf
- 国金证券-智能化选基系列之十二:基于申报信息的行业主题ETF轮动策略.pdf
- 国金证券-基础化工行业研究-AI系列深度(二)一一AIforScience应用端落地快速开启.pdf
- 甬兴证券-顺丰控股-002352-首次覆盖深度报告-无人物流元年,快递龙头加速启航.pdf
- 国金证券-我爱我家-000560-经纪资管双轮驱动,竞争优势突围存量房时代.pdf
- 国金证券-7月行业信息回顾与思考:“反内卷”对消费量、价、利润基本面的影响.pdf
- 华西证券-国际货币体系专题(一)-百年浮沉,彰往察来.pdf
- 天风证券-产业赛道与主题投资风向标-如何从PCR指标看阶段性顶部与底部.pdf
文档评论(0)