zoukankan      html  css  js  c++  java
  • MySQL注射攻击与防范详解

    PHP+MySQL JSP+MySQL
     
    一.基础知识
    1.MYSQL的版本
    4.0以下,4.0以上,5.0以上。
    4.0以下不支持union查询
    4.0以上magic_quotes_gpc默认为on
    5.0以上可以暴表暴列,支持跨库
    2.magic_quotes_gpc=on
    当php.ini里的 magic_quotes_gpc 为On 时。提交的变量中所有的 ' (单引号), " (双引号), \(反斜线) and 空字符会自动转为含有反斜线的转义字符。例如'会变成\'。给注入带来不少的阻碍。
    3.注释符
    Mysql有3种注释句法
    # 注射掉注释符后面的本行内容
    -- 注射效果同#
    /* ... */  注释掉符号中间的部分
    对于#号将是我们最常用的注释方法。
    -- 号记得后面还得有一个空格才能起注释作用。
     
    /*...*/  我们一般只用前面的/*就够了。
    注意:在浏览器地址栏输入#时应把它写成%23,这样经urlencode转换后才能成为#,从而起到注释的作用。
    注射中常用/**/代替空格。
     
    4.一些函数与MSSQL中的不同
    ascii()
    length()
    5.导出文件(into outfile)
    使用  into outfile 把代码写到web目录取得WEBSHELL  
    首先需要 3大先天条件
    ①知道物理路径(into outfile '物理路径') 这样才能写对目录
    ②能够使用union (也就是说需要MYSQL4以上的版本)
    ③对方没有对'进行过滤(因为outfile 后面的 '' 不可以用其他函数代替转换)
    后天条件就要2个
    ①就是MYSQL 用户拥有file_priv权限(不然就不能写文件 或者把文件内容读出)
    ②对web目录有写权限MS 的系统就不说了一般都会有权限的~但是*nix 的系统嘛!通常都是rwxr-xr-x 也就是说组跟其他用户都没有权限写操作
    6.读取文件(load_file())
    serv-U默认安装路径的servudaemon.ini。注意可以变化D盘,E盘……
    读取数据库配置文件
    IIS站点配置信息,c:\windows\system32\inetsrv\metabase.xml
    /usr/local/app/apache2/conf/httpd.conf //apache2缺省配置文件
    /usr/local/apache2/conf/httpd.conf
    /usr/local/app/php5/lib/php.ini //PHP相关设置
    /usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
    /etc/my.cnf //mysql的配置文件
    /etc/redhat-release //系统版本
    C:\mysql\data\mysql\user.MYD //us存储了mysql.er表中的数据库连接密码
    /etc/sysconfig/iptables //从中得到防火墙规则策略
     
    7.绝对路径
    1.加特殊符号,访问不存在的链接
    2.读取服务器配置文件
    3.直接访问
    phpmyadmin/libraries/select_lang.lib.php
    phpmyadmin/darkblue_orange/layout.inc.php
    phpmyadmin/index.php?lang[]=1
    8.网站OS版本
    变换大小写。
    9.PHPMyadmin路径
    在测试uninx系统中phpmyadmin路径时候可以在http://www.7747.net/后面尝试phpmyadmin的各种大小写组合。
     
    10.MySQL,外部连接,内部连接
    一般是3306.telnet 3306 。低版本外部允许连接。连接上之后即使magic_quotes_gpc=on也可以直接into outfile
     
    二.实践过程
    1.
    4.0以下,
    基本和ACCESS中的猜解方法一样,注意函数accsii()和length()
     
    2.
    4.0以上
    0.1.
    magic_quotes_gpc=off
    0.0.1.
    and 1=1正常
    and 1=2错误
    存在注射点。

  • 相关阅读:
    wap2app(五)-- 微信授权登录以及踩过的坑
    wap2app(六)-- wap2app的原生标题头无法隐藏
    创建对象的几种模式
    通过url动态获取图片大小方法总结
    wap2app(三)-- 添加引导页
    wap2app(二)-- 设置APP系统状态栏
    wap2app(一)-- 网站快速打包成app
    树叶飘落、雪花飘落等同时多个图片飘落
    基于bootstrap的双日历插件 daterangepicker
    FileProvider解决FileUriExposedException
  • 原文地址:https://www.cnblogs.com/94YY/p/2047734.html
Copyright © 2011-2022 走看看