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参数,

     

  • 相关阅读:
    Jenkins调用selenium找不到webdriver:selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
    列表的基本操作
    jenkins集成发送测试报告的常见问题解决
    Chrome 浏览器前端调试技巧大揭秘
    搭建Redis三主三从集群
    Jenkins安装
    python中hasattr()、getattr()、setattr()函数的使用
    python单元测试之unittest框架
    python环境配置详细步骤
    Android:EditText 设置弹出数字输入法键盘
  • 原文地址:https://www.cnblogs.com/kuaile1314/p/11669941.html
Copyright © 2011-2022 走看看