zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    0x01 环境安装

    1. 熊海cms1.0 (http://js.down.chinaz.com/201503/xhcms_v1.0.rar)

    2.seay代码审计工具

    3. phpstudy (php版本不能太高)

    0x02 审计之旅

    直接拉到工具中,可以看到可能存在大概34个漏洞,我们一一来看吧。

    0x03 文件包含

    文件是index.php,一眼就看出来了这**不是文件包含嘛,什么都没过滤

     

     include函数,关闭了错误提示。这里参数r没有任何过滤直接放到include()函数中了,但是这里include是在files目录下的,我们验证一下,在files目录下建立一个shell.php ,内容为<?php phpinfo();?>

     接着,那就开始访问呗,成功触发。嘻嘻嘻!!

     0x04 sql注入

    首先肯定要看登陆页面了,如果能够爆出用户名和密码就完美了。
    查看login.php,入眼的就是一段令人激动的代码

    这里user和password是直接获取POST传来的参数,并没有进行任何过滤,很容易想到万能密码的使用,但是继续看代码我们发现,这里是先进行user的查询,如果user在数据库中存在,那么就进行password的比较,是将我们输入的password进行md5哈希一下,然后与数据库中的进行比对,所以说万能密码在这里是没有用的,但是我们却可以用报错注入得到用户名和密码

    得到数据库 seacms,

      这边直接给出payload, 在manage表中含有账号和密码

    user=123' or extractvalue(1,concat((select concat(password,0x7e) from manage)))#&password=
    

      

     

     但是这里有一点比较坑的是,这里注出来的password最多只有27位,但是数据库存的是password的MD5值,有32位,所以说得到的md5是不对的,需要进行两次注入才能得到完整的密码,以extractvalue()函数为例,payload需要这样写

     拼接一下,得到密码:123456  账号admin

    0x05 sql注入2

     我们跟进去 newlink.php文件,这也太舒服了吧,有太多POST传参的变量,都没进行过滤。但是一般都是看到的select 查询语句,今天第一次遇到 insert values 插入语句 ,好好学习。

    这边我们就控制的是name变量,其余变量不能为空也没有过滤,我们就随便输入了,

    payload:

    123' or updatexml(1,concat((select concat(0x7e,password,0x7e) from manage)),0) or '

    这是完整闭合的sql语句,这是为什么我们需要在语句的末尾还要加上一个 '  

     0x06 sql注入3

    这次我们看到reply文件,直接跟着id,  都没过滤任何东西,那就直接搞了。。不不不,渗透测试,,我们可以控制的是id参数,

     

  • 相关阅读:
    网络基础知识-TCP/IP协议各层详解
    MySQL及其图形界面navicat的安装
    Python 浅谈编程规范和软件开发目录规范的重要性
    python 浅析模块,包及其相关用法
    spring batch中MyBatisPagingItemReader分页使用介绍
    eclipse中git插件使用
    oracle中查找某用户执行某张表的操作操作记录
    redis集群主流架构方案分析
    消息队列常见的 5 个应用场景
    Kafka vs RocketMQ——单机系统可靠性
  • 原文地址:https://www.cnblogs.com/kuaile1314/p/11669941.html
Copyright © 2011-2022 走看看