前言:
眼前你们对“php开发案例”都比较注意,各位老铁们都需要学习一些“php开发案例”的相关资讯。那么小编同时在网上网罗了一些对于“php开发案例””的相关资讯,希望朋友们能喜欢,看官们快快来了解一下吧!一、php注入和asp注入的异同
Php的注入,目前是没有免费的工具可用的,因为它的注入手法太灵活,不像ASP的注入那样遵循一个固定的步骤就可以,所以到现在为止,还没有免费的工具给我们用。
那么,既然没有工具,那我们只好完全手工来了。
不过也不用担心,因为php一般都是搭配着mysql来的,所以我们的注入手法很灵活,注入的速度不一定会慢于asp中的工具的速度的。
二、php手工注入一般流程
1、判断是否可以注入
2、获得字段数
3、获得显示位
4、猜表名
5、猜字段
我这里要演示的网站是:
如图:
注入点:
OK,下面一步一步的来操作。
1、判断是否可以注入
在注入点后加一个单引号,回车,如图:
出现错误,说明应该是可以注入的。
再来,在注入点后加“+and+1=1”和“+and+1=2”,返回的页面分别为:
这个是正常的,另外一个是:
这个显示空白页面,说明页面出错了。
以上3点,充分说明此链接是可以注入的。
另外,我说一下,你看到我提交的链接中的“+”,只是起到一个代替空格的作用,无实意。
第一步完毕,开始第二步。
2、获得字段数
这里我先用ZBSI检测一下,打开ZBSI,把注入点地址粘贴进去,点击“检测注入”,工具提示可以注入,如图:
提示可以注入之后,再点击右边的“字段数目”,如图:
工具提示字段数为2。
如果你也遇到工具这么告诉你,说字段数为2的话,那么你就可以直接关掉工具了,因为,工具又出错了,字段数不可能是低于4的。
好了,现在我关掉工具,自己手工来。
这里我说一下,ZBSI是一款php注入的辅助工具,它可以帮助我们判断一个地址是否可以注入,并判断出这个地址的字段数,工具可能没设计好,我用的时候老是出错,不出错的几
率很小。
下载地址:
现在我该自己手工确定字段数了,我用order by的方法来判断。
我提交地址的格式为:
注入点地址+order+by+数值
比如:
如图:
页面显示正常,说明字段数是大于或等于7的,再提交:
页面出错,说明字段数不大于也不等于8。
这样一来,字段数是大于等于7而不大于不等于8,这样一推,字段数就是7了。
好了,现在第二步已经完成,开始第三步。
3、获得显示位
提交:
如图:
可以看到,页面上出现了几个数字,分别是2,3,4,那么,这几个数字就被我们称作显示位。
这里我要说的是,你查出的字段数是多少,那么就在union select后边写上多少个数字,我这里是7个字段,那么我就写:
1,2,3,4,5,6,7
如果你查到的网站是13个字段,那你就写:
1,2,3,4,5,6,7,8,9,10,11,12,13
这样,以此类推。
得到了显示位之后,我们的第三步进行完毕,开始第四步。
4、猜表名
猜表名的方法是,在第三步的完整的地址后加上:
Form 表名
比如:
这样,当admin表存在的话,页面就会显示正常,如图:
如果我们提交一个不存在的表名,页面就会出错,比如,我提交:
如图:
我们就是用这种方法,来猜表的。
好了,我现在已经猜到了表名,第四步进行完毕,开始第五步。
5、猜字段
我们猜字段的方法是,使用:
Concat(字段名)
替换显示位的位置。
比如,我提交:
如图:
我们上边就知道,2、3、4都是显示位,所以替换哪一个都无所谓,我这里替换的是3。
替换3个字符是:
Concat(username)
其中,concat()是一个函数,我们这里不必改变,需要改变的是括号中的字段名字。
如果你的括号中写的字段名在数据库中存在的话,那么页面上就会显示出这个字段中存储的内容,如上图,我猜的username字段在数据库中存在,那么页面上就显示出了这个字段中的内容,也就是我想得到的管理员的用户名。
我再提交:
如图:
OK,我们已经得到了管理员的密码,为“adminadmin”。
在实际注入的时候,记住这个格式就行了,因为如果我们在括号中写的字段名在数据库中不存在的话,页面是会出错的,比如,我提交:
如图:
所以,我们只需要不断的改变concat的括号中的字段名,直到页面正确为止。
好了,这就是我们要说的php+mysql注入的一般基本步骤了,得到了管理员的用户名和密码之后就去找后台登录,这我就不多说了。完毕。
标签: #php开发案例