PHP安全基础 注射基础经验技巧汇总篇
日期:2007年7月9日 作者: 查看:[大字体 中字体 小字体]-
第一讲:判断有没注射点
这个很简单,我们最常用的就是看到页面的格式为:index.php?id=2这样的地址,我们知道PHP经常是和MYSQL数据库一起用的,在MYSQL数据库中一定存在一个表,比如setting_table,我们提交上面地址的时候,程序一般上这样处理的:
1、用GET或者POST取我们提交的id=1把这个值传给一个变量:$id.
2、查询:select * from setting_table where id =$id
上面的语句就是查询的语句,我们代入$id=1就是:
select * from setting_table where id=1
这话是没什么问题的,会取出id为1的信息进行显示给我们,所以我们就能看到正常的页面。--------------
看我们是怎么判断的:
1、我们提交id=1 and 1=1
看看这个是什么效果,这里的$id就是1 and 1=1,我们看看是什么样子的:
select * from setting_table where id =1 and 1=1
这个语句加了一个and 语句,后面是1=1是肯定成立的,所以就不影响上面语句的成立,它还会取出id=1的信息进行显示给我们,所以我们看到的还是原来的正常页面。
2、我们提交 id =1 and 1=2
看看这个是什么效果,这里的$id就是 1 and 1=2,我们看看在SQL中怎么执行
select * from setting_table where id =1 and 1=2
分析下这个语句,前面还是一样的,只是最后加了个and 1=2,这个自然不成立啦!又因为是and连接的,so自然找不到符合条件的啦!只能回显给我们一个错误或者空白的页面拉~!!上面就是一般我们采用and 1=1 & and 1=2来判断的基本原来,但是这里还要注意几点,如下:
1、程序处理的时候必须是where id =$id 而不是where id=$id,这个单引号是很不一样的,怎么不一样,以后再说。
2、程序对我们提交的参数没有处理或者处理的不好,导致我们可以直接提交,如果程序多我们提交的参数进行处理,又会不一样,也是后话!
第二讲:快速判断MYSQL版本
前提:你得到一个注射点,比如:news.php?id=1
这个点是你找到的,提交and 1=1 和and 1=2返回的是不同的。我们就可以这样来猜MYSQL的版本了。。步骤如下:
1、提交/news.php?id=1/*!40000%20s*/ 如果返回正常就说明MYSQL版本在4000版本以下,你可以依次调节最高位的数字,比如我改为39000提交,如果再正常,就提交38000....直到返回错误提示,最后固定的那个就是MYSQL的版本了。。
下面是我提交测试时的过程(只写MYSQL版本)
40000(+)--39000(+)--38000(+)--370000(-)--37900(+)--37800(+)--37700(-)--结束!!
得到MYSQL版本是37700。2、一般我们不去猜具体的版本,我们只关系MYSQL是不是在4.0以上,以为只有4.0以上的MYSQL才支持UNION查询,以下是不支持的,所以我们经常只用/*!40000%20s*/ 看看是不是4.0以上的版本。
PS:/*!40000%20s*/ 这里的/*!......*/是mysql里一种特殊的注释方式,也没什么好奇怪的,记得怎么用就可以了~~
第三讲:PHP注射怎样得到表名。。
正准备写,看到有人问到了,就总结下,算第三讲吧!
Quote:
Originally posted by spirit at 2006-5-16 05:57 PM:
看了好多 文章了 ....眼睛都花了 - [1] [2] 下一页
-
- PHP安全基础 注射基础经验技巧汇总篇 相关文章:
- ·XML Schema定义元素的基本知识
- ·卡巴斯基12月10日——16日一周病毒报告
- ·Vista12个最实用操作技巧的基础课
- ·卡巴斯基报告称恶意软件近三成来自中国
- ·HTML基础:HTML的基本结构
- ·基本的页面设计元素布局比例
- ·卡巴斯基发布8.0版最新特性(附下载)
- ·网站的文章内容SEO优化基本原则
- ·卡巴斯基® 手机版正式线上发行
- ·Java基础:你是否了解KVM的常量池
- PHP安全基础 注射基础经验技巧汇总篇 相关软件
- ·《时空之泪》基因主城音乐
- ·《反恐导弹基地》V1.8动作射击试玩
- ·《基因传奇》
- ·文物典藏系列-英国大维德基金会藏中国珍品瓷器
- ·FC《飞鼠洛基冒险记》模拟器
- ·手机游戏:维基范斯代号-普罗米修斯(汉化版)
- ·何绍基书咏落花七律十五章
- ·《罗科索夫斯基元帅战争回忆录》
- ·《3D Max 动画基础教程》
- ·超频基础知识
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:PHP安装问题:编译安装php5.2.0时出错解决方案
精品推荐
热点TOP10
- ·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- ·学习教程:Java Annotation 高级应用
- ·Windows XP下PHP+MySQL环境搭建
- ·smarty技术学习,修改php模板的一点体会
- ·PHP中的sprintf()函数的学习研究笔记
- ·PHP技巧:使用APC缓存优化PHP程序
- ·windows下Apache2+php4+MySql5集成简明教程
- ·PHP预定义变量
- ·突破Windows 2003 PHP服务器的新思路
- ·用Apache反向代理设置对外的WWW和文件服务器
- ·Mysql的常用命令
- ·如何在Form域中Post大于100K字节的数据
- ·详细学习PHP中对文件和目录的操作方法
- ·急速搭建属于自己的Discuz!6论坛
- ·如何利用PHP会话显示出当前在线的用户
- ·PHP编程中break及continue两个流程控制指令
- ·PHP项目将联合起来转向PHP5
- ·初学解决疑惑:PHP是什么?
- ·Discuz!5.5 JS的调用
- ·PHP4将结束更新并在明年退出历史的舞台
特别推荐
- ·PHP入门指导:如何学习PHP?
- ·Php+Mysql注入专题
- ·PHP:实现给上传图片加水印的程序代码
- ·PHP动态网站开发中常用的8个小技巧
- ·PHP初学者:配置Apache服务器并且设置DNS
- ·初学PHP指导:php.ini 配置详细选项
- ·好文分享:PHP入门的学习方法
- ·急速搭建属于自己的Discuz!6论坛
- ·PHP入门:初学来看配置文件PHP.INI的中文注释
- ·php.ini配置,php.ini 中的 php-5.2.0 配置指令详解
- ·总结:一些PHP学习过程中的心得和经验
- ·新手入门:JSP初学者必须掌握的语法点
- ·PHP技巧:PHP脚本编程中的文件系统函数库
- ·详细讲解PHP编程中分页显示的制作
- ·成为PHP编程高手应该遵循的三个准则
- ·谈谈生成静态页面的一些经验
- ·新手入门:详细解述七个软件开发的原则
- ·简单的webservice开发例子
- ·PHP木马攻击的防御之道
- ·基础入门:动态网页制作PHP中Session的概念
