没有合适的资源?快使用搜索试试~ 我知道了~
首页sql injection SQL注入解析 和解决方案
资源详情
资源评论
资源推荐
国内能看到 注入的文章可能比较少,但是如果关注各种 程
序的漏洞,就可以发现,其实这些漏洞的文章其实就是一个例子。不过由于国
内研究 的人比研究 的人实在少太多,所以,可能没有注意,况且
的安全性比 高很多,导致很多人不想跨越这个门槛。
尽管如此,在 站点日益增多的今天, 注入仍是最有效最麻烦的一
种攻击方式,有效是因为至少 以上的站点存在 漏洞,包
括国内大部分安全站点,麻烦是因为 以下的版本是不支持子语句的,
而且当 里的 !"#$%$#为 &时。提交的变量中所有的 '
(单引号)*+(双引号)*(反斜线)",空字符会自动转为含有反斜线的转义字符。
给注入带来不少的阻碍。
早期的时候,根据程序的代码,要构造出没有引号的语句形成有效的攻击,
还真的有点困难,好在现在的技术已经构造出不带引号的语句应用在某些场合。
只要有经验,其实构造有效的语句一点也不难,甚至成功率也很高,但具体情
况具体分析。首先要走出一个误区。
注:在没有具体说明的情况下,我们假设
magic_quotes_gpc
均为
o
。
php+Mysql 注入的误区
很多人认为在 下注入一定要用到单引号,或者是没有办法
像 那样可以使用“,"-.""!."/0!!",1
2!"- ,3 2$!,."4这类的命令来消除引号,其实这个是大
家对注入的一种误解或这说是对注入认识上的一种误区。
为什么呢?因为不管在什么语言里,在引号(包括单双)里,所有字符串
均是常量,即使是 ,- 这样的命令,也紧紧是字符串而已,并不能当做命令执
行,除非是这样写的代码:
5!!",/+,-6+7
!(5!!",)7
否则仅仅只是字符串,当然,我们所说的命令不单指系统命令,我们这里
说的是 语句,要让我们构造的 语句正常执行,就不能让我们的语句
变成字符串,那么什么情况下会用单引号?什么时候不用呢?看看下面两句
语句:
89:;<=&"-="-,/'5,'
>9:;<=&"-="-,/5,
两种写法在各种程序中都很普遍,但安全性是不同的,第一句由于把变量
5, 放在一对单引号中,这样使得我们所提交的变量都变成了字符串,即使包
含了正确的 语句,也不会正常执行,而第二句不同,由于没有把变量放进
单引号中,那我们所提交的一切,只要包含空格,那空格后的变量都会作为
语句执行,我们针对两个句子分别提交两个成功注入的畸形语句,来看看
不同之处。
8指定变量5, 为:
?'",?/@%;A-!%-B-%-,/?C;
此时整个 语句变为:
9:;<=&"-="-,/'?'",?/@%;
A-!%-B-%-,/?C;'
> 指定变量5, 为:
?",?/@%;A-!%-B-%-,/?
此时整个 语句变为:
9:;<=&"-="-,/?",?/@%;
A-!%-B-%-,/?
看出来了吗?由于第一句有单引号,我们必须先闭合前面的单引号,这样
才能使后面的语句作为 执行,并要注释掉后面原 语句中的后面的单
引号,这样才可以成功注入,如果 中 !"#$%$# 设置为
或者变量前使用了 ",,"()函数,我们的攻击就会化为乌有,但第二句没
有用引号包含变量,那我们也不用考虑去闭合、注释,直接提交就 &D 了。
大家看到一些文章给出的语句中没有包含单引号例如 E 的《
注入实例》中给出的那句 语句,是没有包含引号的,大家不要认为真的可
以不用引号注入,仔细看看 的代码,就可以发现,那个5A-%!$, 所
在的 语句是这样写的:
5/+9:;
<=&+ <&=F$: +
=A-%!$,/5A-%!$,+7
由于没有用单引号包含变量,才给 E 这个家伙有机可乘,所以大
家在写 程序的时候,记得用单引号把变量包含起来。当然,必要的安全措
施是必不可少的。
简单的例子
先举一个例子来给大家了解一下 下的注入的特殊性和原理。当然,这
个例子也可以告诉大家如何学习构造有效的 语句。
我们拿一个用户验证的例子,首先建立一个数据库和一个数据表并插入一
条记录,如下:
9=::G%-G(
G%-,G(??)H&:HF"%$-!*
G%-"!GI"-"-(@)H&:HF,A"%''*
G"B-,GI"-"-(@)H&:HF,A"%''*
==D(G%-,G)
):/F:&$H9=H:/J7
K
K导出表中的数据 G%-G
K
H=:H:&G%-GLF(?*'"#'*'!"')7
验证用户文件的代码如下:
0M
5-I-"!/+"+7
5,3%-"!/+-+7
5,3"B-,/++7
5,3"!/++7
!$(5-I-"!*5,3%-"!*5,3"B-,)-,
(+数据库连接失败+)7
5/+9:;<=&%-=%-"!/'5%-"!'HN
"B-,/'5"B-,'+7
5-%/!$,3$%-(5,3"!*5)7
5%-A/!$A$"--"(5-%)7
A(!(5%-A))
O
+登陆失败+7
PO
+登陆成功+7
P
+01%-6501+7
M1
这时我们提交:
6CC?@ ?CC%- M%-"!/"#'-?/?
就会返回:
"-#6!$A$"--"()6%,"-#%!"I",
-%-%-<6BBB%- ?J
登陆失败
%-69:;<=&%-=%-"!/'"#'-?/?'
HN"B-,/''
"-#6!$A$"--"()6%,"-#%!"I",
-%-%-<6BBB%- ?J
看到了吗?单引号闭合后,并没有注释掉后面的单引号,导致单引号没有
正确配对,所以由此可知我们构造的语句不能让 正确执行,要重新构造:
6CC?@ ?CC%- M%-"!/"#'-'?/?
这时显示“登陆成功”,说明成功了。或者提交:
6CC?@ ?CC%- M%-"!/"#'C;
剩余41页未读,继续阅读
ouou009
- 粉丝: 3
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0