323 1 分钟

exp 可能具有破坏性,在执行前需要仔细阅读和理解代码,确保没有负面影响。 遇到肉眼难看出来的 shellcode,可以使用 python 进行处理,print 一下,也许能进行解码。 # 在线 exp 下载 www.exploit-db.com www.securityfocus.com packetstormsecurity.com Google 搜索,使用 Google 语法进行搜索 # 离线 exp 资源 searchsploit Nmap NSE 脚本 BeEF Metaploit # 小结 感觉很水,但是还是比较有必要,因为确实有些 exp...
770 1 分钟

隐蔽性非常好 需要枚举目标机器上的客户端列表,了解目标上运行了哪些服务和程序。 # 被动信息收集 通过浏览目标网站,获取员工的邮箱等个人信息,一步步通过社交账号掌握更多的信息。 又或者是通过网络空间搜索引擎,搜索 IP 地址,可能搜索到目标使用的浏览器版本、操作系统信息以及浏览器插件等信息。 # 主动信息收集 准备社工话术、邮件钓鱼等方式进行信息收集。 预估需要哪些信息,准备话术进行获取。 fingerprintjs2,起一个 web 服务,访问这个源代码能获取到指纹信息。 whatismybrowser.com 能够将指纹转换成具体的信息。 访问记录会发送到 js.php...
654 1 分钟

# DEP、ASLR、Canaries 机制 定义 作用 DEP (Data Execution Prevention) 一种硬件和操作系统级别的安全特性,用于防止恶意软件执行攻击。通过阻止将数据区域用作代码执行区域来保护系统免受缓冲区溢出等攻击的影响。 防止恶意代码在数据区域执行,提高系统安全性。 ASLR (Address Space Layout...
2.1k 2 分钟

没有源代码的情况下找到代码中的漏洞 找到一种方法修改输入 操作内存获得控制 # 发现漏洞 代码审计 逆向 FUZZ # fuzz 例子 使用 wireshark 监听流量,看一下登录请求 然后使用 python 编写一个脚本,发送登录请求包,并不断增长用户名的名称 attach 一个 debugger 在 web 服务器上,之前的 immunity debugger 无法 attach 到演示的 web 程序上,于是使用了 Microsoft tcpview 查看了一下进程,确定启动了之后,使用管理员权限运行 debugger 当输入的用户名达到 800 字节时,debugger...
709 1 分钟

# X86 架构介绍 必须理解软件是如何在 CPU 执行的 X86 架构实现了 push 和 pop 对低地址的 stack 进行操作。 函数 return 机制,return 的 address 也存储在 stack 中 CPU 寄存器的 32 位指令。 EAX 和 AX 通用寄存器: EAX 、 EBX 、 ECX 、 EDX 、 ESI 、 EDI 寄存器 作用 EAX 通用寄存器,用于存放函数返回值和算术运算结果 EBX 通用寄存器,通常用于基址寄存器,存放数据指针 ECX 通用寄存器,通常用于计数器,循环计数等 EDX 通用寄存器,用于存放 I/O...
418 1 分钟

# OWASP TOP 10 渗透测试第一步,信息收集! 这个是用来干什么的? 什么编程语言写的? web 服务中间件是那个? # 枚举中间件 需要找到技术栈 编程语言和框架 web 中间件 数据库版本 OS 信息 通过检查后缀名判断编程语言 通过浏览器的调试功能,寻找更多的信息 找一找隐藏的表单 通过 Network 选项卡,检查请求头 X-* 的是非标准的请求头,可能有更多的信息 sitemap 可能也有敏感信息,但是实战中感觉其实没那么大作用。比如: robots.txt 或者 sitemap.xml 找后台,或者控制台。可能会限制访问或者需要账号密码。 #...
688 1 分钟

# 漏洞扫描器工作过程 检测目标机器是否在线 进行全端口或可能存在的端口扫描 识别操作系统版本信息 尝试识别服务信息 发送可能存在的漏洞 payload 可能会存在很多误报,因为发送 payload,并返回了某些 res 不代表漏洞一定存在 同样的,如果管理员设置了某些机制,可能导致返回相应的 res,但不代表漏洞就不存在。 漏扫是批量进行的,可以使用人工干预,如果发现常用的中间件,可以人工选择可能的 poc。 漏扫会根据设置的不同进行不同程度的扫描,比如如果带有登录凭证的漏扫可能扫描的结果会更丰富一些。 # 用 nessus 进行漏扫 支持 13...
2.2k 2 分钟

# DNS 信息收集 使用 host 命令可以搜索 IP 地址 还有一些其他的参数 当然,以下是一个简单的表格,列出了 host 命令的使用和各种参数: 用途 命令示例 查询主机名对应的 IP 地址 host example.com 查询 IP 地址对应的主机名 host 192.168.1.1 指定查询的 DNS 服务器 host example.com dns_server_ip 查询指定类型的记录(如 MX 记录、NS 记录等) host -t mx example.com 指定查询的协议类型(如 IPv4 或 IPv6) host -4...
687 1 分钟

界定:不与目标系统产生任何联系,或者仅作为正常用户进行交互 通过浏览网站,获取信息 企业邮箱 + 社交账号 whois 信息,查找注册人等信息。whois 支持反向查找,使用 ip 进行搜索。 Google Hacking,不多讲 ==、 https://www.netcraft.com https://searchdns.netcraft.com https://sitereport.netcraft.com/?url= recon-ng 进行被动信息收集,可能需要 api_key 进行,工具的使用可能还需要翻墙,感觉国内不友好。 github、gitlab、sourceforge...
3.1k 3 分钟

bash 是一个包含一系列命令的纯文本文件,通常以 .sh 结尾,执行前必须有可执行权限。 # 变量 跟编程很像,声明直接声明 A=SB ,调用的时候加一个 $ 就行: echo '我是$A' 声明的变脸如果有空格,要用引号包起来 可以通过 $() 执行命令: user=$(whoami) ,这样运行 echo $user 会直接显示用户名 # 参数 在 Bash 编程中,你可以通过使用特定的变量来获取传递给脚本或函数的参数。这些特定的变量是: $0:表示脚本或函数的名称。 $1, $2, $3, ...:表示传递给脚本或函数的位置参数,其中 $1 表示第一个参数,$2...