首页
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
5,285 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
4,485 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
3,260 阅读
4
几个常见的密码字典推荐
2,630 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
2,592 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
登录
Search
标签搜索
Windows渗透
域渗透
HackMyVm
CyberStrikeLab靶场
内网渗透
渗透测试
网络安全
Web安全
cyberstrikelab
OSCP
SQL注入
WAF绕过
信息收集
渗透工具
靶场
靶场推荐
MSF
ThinkPHP漏洞
Vulfocus
vulnhub
泷羽Sec
累计撰写
185
篇文章
累计收到
0
条评论
首页
导航
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
搜索到
175
篇与
的结果
2025-05-18
java框架Shiro流量分析-面试必备
前言靶场:https://vulfocus.cn/Shiro(Apache Shiro)是一个强大且灵活的开源安全框架,专为Java应用程序提供安全性解决方案。它由Apache基金会开发和维护,广泛应用于企业级应用程序和Web应用程序中。Shiro的设计目标是简化应用程序的安全性配置和开发过程,提供易于使用的API和丰富的功能。本文主要介绍了Java框架Shiro和shiro工具的流量特征,以及Shiro-550漏洞的复现CVE-2016-4437登录界面正常的流量包返回包set-Cookie⾥没有 deleteMe字段的,返回包甚至都没有set-Cookie登录失败的流量特征看到一个结果抓包,输入错误的密码,他就会返回一个rememberMe=deleteMe,那么百分百是shiro框架,不管是否勾选记住密码,返回包都会有rememberMe=deleteMe字 段登录成功的流量特征这时候再去请求别的页面就会有这个cookie特征,未登陆的情况下,请求包的cookie中没有rememberMe字段没有登录的情况下,请求包的cookie中没有rememberMe字段,返回set-Cookie也没有deleteMe字段不勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe 字段。但是之后的所有请求中Cookie都不会有rememberMe字段勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字 段,还会有rememberMe字段,之后的所有请求中Cookie都会有rememberMe字段工具爆破的流量特征工具的第一步就是去判断网站是否使用了shiro框架,开始之前,先设置工具代理,把流量转发到burp suite就可以得到如下数据包,它添加了一个Cookie: rememberMe=yes看看返回数据包,他也有一个Set-Cookie:rememberMe,也就是登录失败,通过这个值来判断是否是shiro框架密匙爆破流量分析,当成功之后就会有一个设置一个cookie:rememberMe发送请求,爆破成功的set-cookie就没有rememberMe的值我在cookie中随便添加几个字母/数字,他也会提示Set-Cookie: rememberMe=deleteMe,密匙爆破失败成功后,还不能直接获得webshell,还需要爆破利用链和回显利用链爆破流量分析如果在秘钥正确的情况下,进行利用链爆破利用链爆破失败流量和密匙/浏览器登录流量一样,只要登录/爆破失败就会返回一个Set-Cookie:rememberMe=deleteMe利用链爆破成功流量当cookie非常长的时候。如果在研判 中发现cookie非常长,并且返回包状态码为200,那就要考虑网站是否被入侵了!成功之后才能执行系统命令,获取flag系统命令流量分析执行命令时候的流量特征就是,rememberme 非常长,并且返回值是加密的,执行命令ls,在响应包中会出现三个$ls -a注入内存马流量上传蚁剑一句话马上传的过程流量正常连接
2025年05月18日
972 阅读
0 评论
0 点赞
2025-05-18
python爬虫,网易云js逆向代码分析
前言本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与文章作者无关,若有侵权,请联系我立即删除!阅读本篇文章,需要一定的爬虫基础,和js逆向思维,否则无法继续首先找到一个歌单找到这个api接口api传参为这两个找到启动器发现这两个参数和刚刚api接口是一模一样的,那么大概率源码就在这里打断点,分析加密参数刷新页面,已经卡在这里了分析每个api参数X1x为后端api地址i1x为csrf_tokene1x为请求方式,该值为post我们的目标是抓取歌单评论信息,一直放行,直到这个接口分析这个参数,如下分析rid:A_PL_0_3865036,这后面的就是歌单id,threadId:A_PL_0_3865036,后面也是歌单id信息,后面的参数基本没用了,页面大小,偏移量和歌单属性那么就可以得到python代码向后端传的参数为这个def get_data(): id=3865036 # 歌单id url = "https://music.163.com/weapi/comment/resource/comments/get" data = { 'csrf_token': "", "cursor": "-1", # 0为精彩评论,-1为最新评论 "offset": "0", "orderType": "1", "pageNo": "1", "pageSize": "20", "rid": f"A_PL_0_{id}", "threadId": f"A_PL_0_{id}" } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' } resp = requests.post(url, data=data, headers=headers) print(resp.text) 但是呢没有任何响应结果,说明参数加密了 对比源参数即可看到,这些值都是乱码,显然是进行了加密的那么就要找js的加密节点,怎么找?回到这个界面把这段代码复制下来仔细分析var bVi3x = window.asrsea(JSON.stringify(i1x), bse0x(["流泪", "强"]), bse0x(Qu1x.md), bse0x(["爱心", "女孩", "惊恐", "大笑"])); 分别对应如下值这里我们就得到了每个参数的值使用变量进行替换# 服务于函数d g = "0CoJUm6Qyw8W8jud" # bse0x(["爱心", "女孩", "惊恐", "大笑"]) f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" # bse0x(["流泪", "强"]) 再放行,找到加密节点鼠标移动到这里,即可看到,使用了一个方法,方法名称叫 d即可看到这样一串代码贴上源码!function() { function a(a) { var d, e, b = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", c = ""; for (d = 0; a > d; d += 1) e = Math.random() * b.length, e = Math.floor(e), c += b.charAt(e); return c } function b(a, b) { var c = CryptoJS.enc.Utf8.parse(b) , d = CryptoJS.enc.Utf8.parse("0102030405060708") // AES加密算法中需要的偏移量 , e = CryptoJS.enc.Utf8.parse(a) , f = CryptoJS.AES.encrypt(e, c, { iv: d, mode: CryptoJS.mode.CBC }); return f.toString() } function c(a, b, c) { var d, e; return setMaxDigits(131), d = new RSAKeyPair(b,"",c), e = encryptedString(d, a) } function d(d, e, f, g) { var h = {} , i = a(16); return h.encText = b(d, g), h.encText = b(h.encText, i), h.encSecKey = c(i, e, f), h } function e(a, b, d, e) { var f = {}; return f.encText = c(a + e, b, d), f } window.asrsea = d, window.ecnonasr = e }(); 仔细分析AES加密特征,打断点放行打印这些值此时即可得到参数 i ,如果你多次执行就会发现这个 i 值是变化的,调用的是a函数传了个16a 函数这就是一个随机计算结果,可以直接定死而 i 已经定死了,i = "2l8EuJuvLirixMmc" ,这里我执行了第二遍,就用我第二遍的 i 值,得到了已有的值g = "0CoJUm6Qyw8W8jud" # bse0x(["爱心", "女孩", "惊恐", "大笑"]) f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" # bse0x(["流泪", "强"]) i = "2l8EuJuvLirixMmc" # 手动固定,函数中是随机的 偏移量之前已经在js代码的b函数找到了,这张图就可以很清楚的看到解密后的值就是 h.encText 的值发现这个函数是RSA加密,我们已经得到了这个值,由上图可以看到,i 值为偏移量,e为 010001,f 未知,那么就先放一放查看这个参数,断点记得放行查看值这样就能得到encSecKey的值,分析得到python逆向代码def get_encSecKey(): # 由于i是固定的,所以经过c函数输出的encSecKey也是固定的 return "288bca7fd6e42e24d4549f155b4eb6317ba323b914c9ee8aaccb786cabcd27773aea34d9413b8902f3a1a86e50863cec7e1f872092585cddd432951f210ae078e2f2c6b486c83c210820d5c09c73e2d3f225401ce1f5543f7a6f903c7bdc65b8ea27894c0299f52d801f05aaa6ec61e34082bec0135b9c74dabcabd1e1dba1ab" # 把参数进行加密,相当于 def get_params(data): # 默认收到的是字符串 first = enc_paramas(data, g) # 第一次加密,再将第二次结果与i一起加密 second = enc_paramas(first, i) # 第二次加密 return second # 返回的就是paramas # 将数据长度转化为16的倍数, 为下面加密服务 def to_16(data): # pad = 16 - len(data) % 16 data += chr(pad) * pad return data def enc_paramas(data, key): # 相当于js中的b(a, b)函数 iv = "0102030405060708" # AES加密算法中需要的偏移量 data = to_16(data) aes = AES.new(key=key.encode('utf-8'), IV=iv.encode('utf-8'), mode=AES.MODE_CBC) # 创建加密器 bs = aes.encrypt(data.encode('utf-8')) # 加密,加密的长度必须是16的倍数,”123456789abcchr(4)chr(4)chr(4)chr(4)" return str(b64encode(bs), "utf-8") # 转化成字符串 此时将刚刚没有任何结果的代码进行传参即可,半成品代码如下import json from base64 import b64encode from Crypto.Cipher import AES # pip install pycryptodome import requests # 设置好已知的值 g = "0CoJUm6Qyw8W8jud" # bse0x(["爱心", "女孩", "惊恐", "大笑"]) f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" # bse0x(["流泪", "强"]) i = "2l8EuJuvLirixMmc" # 手动固定,函数中是随机的 def get_data(): id=3865036 # 歌单id url = "https://music.163.com/weapi/comment/resource/comments/get" data = { 'csrf_token': "", "cursor": "-1", # 0为精彩评论,-1为最新评论 "offset": "0", "orderType": "1", "pageNo": "1", "pageSize": "20", "rid": f"A_PL_0_{id}", "threadId": f"A_PL_0_{id}" } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' } resp = requests.post(url, data={ "params": get_params(json.dumps(data)), # 通过函数的加密得到服务器需要的params参数 "encSecKey": get_encSecKey() }, headers=headers) print(resp.text) if __name__ == '__main__': get_data() 完整数据清洗后的代码import random import json from base64 import b64encode from Crypto.Cipher import AES # pip install pycryptodome import requests # 服务于函数d g = "0CoJUm6Qyw8W8jud" f = "00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7" e = "010001" i = "2l8EuJuvLirixMmc" # 手动固定,函数中是随机的 def get_encSecKey(): # 由于i是固定的,所以经过c函数输出的encSecKey也是固定的 return "288bca7fd6e42e24d4549f155b4eb6317ba323b914c9ee8aaccb786cabcd27773aea34d9413b8902f3a1a86e50863cec7e1f872092585cddd432951f210ae078e2f2c6b486c83c210820d5c09c73e2d3f225401ce1f5543f7a6f903c7bdc65b8ea27894c0299f52d801f05aaa6ec61e34082bec0135b9c74dabcabd1e1dba1ab" # 把参数进行加密 def get_params(data): # 默认收到的是字符串 first = enc_paramas(data, g) # 第一次加密,再将第二次结果与i一起加密 second = enc_paramas(first, i) # 第二次加密 return second # 返回的就是paramas # 将数据长度转化为16的倍数, 为下面加密服务 def to_16(data): pad = 16 - len(data) % 16 data += chr(pad) * pad return data def enc_paramas(data, key): iv = "0102030405060708" # AES加密算法中需要的偏移量 data = to_16(data) aes = AES.new(key=key.encode('utf-8'), IV=iv.encode('utf-8'), mode=AES.MODE_CBC) # 创建加密器 bs = aes.encrypt(data.encode('utf-8')) # 加密,加密的长度必须是16的倍数,”123456789abcchr(4)chr(4)chr(4)chr(4)" return str(b64encode(bs), "utf-8") # 转化成字符串 def get_data(): id=3865036 # 歌单id url = "https://music.163.com/weapi/comment/resource/comments/get" data = { 'csrf_token': "", "cursor": "-1", # 0为精彩评论,-1为最新评论 "offset": "0", "orderType": "1", "pageNo": "1", "pageSize": "20", "rid": f"A_PL_0_{id}", "threadId": f"A_PL_0_{id}" } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36' } resp = requests.post(url, data={ "params": get_params(json.dumps(data)), # 通过函数的加密得到服务器需要的params参数 "encSecKey": get_encSecKey() }, headers=headers) print(resp.text) dict = json.loads(resp.text) # 将得到的内容转化为字典模式 user_obj = dict['data']['hotComments'] comment_data = [] comment_sum = dict['data']['totalCount'] if not user_obj: user_obj = dict['data']['comments'] for _ in user_obj: content = _['content'] nickname = _['user']['nickname'] photo = _['user']['avatarUrl'] timeStr = _['timeStr'] like_count = _['likedCount'] addres = _['ipLocation']['location'] list = { 'nickname': nickname, 'content': content, 'photo': photo, 'timeStr': timeStr, 'addres': addres, 'like_count': like_count, 'com_count': comment_sum } comment_data.append(list) print(comment_data) if __name__ == '__main__': get_data() 得到评论结果其他api接口也是如此,还可以搞一个扫码登录的,下面是我23年8月写的项目项目推荐这是我写的一个完整的爬虫django项目,集成了网易云扫码登录,歌单信息,歌曲/歌单评论,歌单收藏,歌曲播放等等运用了aiohttp异步爬虫,requests库,IP池,线程池,redis,中间件mysql数据库,等等等等,项目仅供学习使用,严禁商业用途!!!!记得点个关注,感谢扫码登录网易云首页我的首页歌单列表源列表评论歌曲播放效果。。。。。。。总结本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与文章作者无关,若有侵权,请联系我立即删除!,重要的事儿说三遍!!!
2025年05月18日
931 阅读
0 评论
0 点赞
2025-05-18
kali Linux Shell编程:基础到进阶
kali Linux Shell编程:基础到进阶在Linux系统中,Shell编程是一项基本技能,它不仅能够提高系统操作效率,还能让你更好地理解和掌控Linux。本文将带领你从Shell编程的基础入门,逐步进阶到复杂应用,通过改写和扩展原有内容,使内容更加丰富且保持低重复率。一、Shell编程基础1. Shell简介Shell是一种命令行界面,用于用户与操作系统进行交互。它也是一种脚本语言,允许用户编写程序自动执行一系列命令。Linux系统中常见的Shell类型包括bash、zsh、csh等,其中bash是最常用的Shell之一。代码示例:#!/bin/bash echo "Hello, Shell World!"以上脚本使用bash Shell,打印“Hello, Shell World!”。2. 创建和执行Shell脚本创建Shell脚本的第一步是创建一个文本文件,并写入Shell命令。然后,你需要给这个文件添加执行权限,最后通过终端执行它。示例步骤:使用文本编辑器(如vim或nano)创建脚本文件,例如hello.sh。在文件中写入以下内容:#!/bin/bash # A simple hello world script echo "Hello, World from a Shell Script!"保存并退出编辑器。给脚本文件添加执行权限:chmod +x hello.sh。执行脚本:./hello.sh。3. Shell脚本的基本语法Shell脚本的基本语法包括变量定义、条件语句、循环语句等。变量定义与使用:#!/bin/bash # Define a variable name="John Doe" # Use the variable echo "Hello, $name!"条件语句:Shell脚本中的条件语句主要有if、elif、else。#!/bin/bash # Check the number of arguments if [ $# -eq 0 ]; then echo "No arguments provided." elif [ $# -eq 1 ]; then echo "One argument provided: $1" else echo "Multiple arguments provided." fi4. Shell中的循环Shell支持多种循环,包括for循环和while循环。For循环:#!/bin/bash # Loop through numbers 1 to 5 for i in {1..5}; do echo "Number $i" doneWhile循环:#!/bin/bash counter=1 while [ $counter -le 5 ]; do echo "Number $counter" ((counter++)) done二、Shell编程进阶1. 函数定义与调用在Shell脚本中,函数允许你将代码块封装起来,以便在脚本中重复使用。#!/bin/bash # Define a function greet() { echo "Hello, $1!" } # Call the function greet "Alice" greet "Bob"2. 数组的使用Shell脚本支持一维数组,可以通过索引来访问数组元素。#!/bin/bash # Declare an array fruits=("Apple" "Banana" "Cherry") # Iterate through the array for fruit in "${fruits[@]}"; do echo "$fruit" done3. 正则表达式与文本处理Shell脚本中可以使用正则表达式来匹配文本字符串。grep命令是处理文本和正则表达式的好帮手。#!/bin/bash # Use grep to find lines containing 'error' grep "error" log.txt使用awk和sed工具可以进行更复杂的文本处理。使用awk处理文本:#!/bin/bash # Print the first and third fields of each line in a file awk '{print $1, $3}' file.txt4. 读取用户输入Shell脚本可以读取用户输入,用于交互式操作。#!/bin/bash # Read user input echo "Enter your name: " read name echo "Hello, $name!"5. 文件与目录操作Shell脚本提供了丰富的命令来操作文件和目录,如ls、cp、mv、rm等。列出当前目录下的所有文件:#!/bin/bash # List all files in the current directory ls -l复制文件:#!/bin/bash # Copy a file cp source.txt destination.txt6. Shell脚本的调试调试Shell脚本时,可以使用-x选项来跟踪脚本的执行过程。bash -x script.sh三、高级Shell编程技巧1. 子Shell与进程控制在Shell脚本中,可以通过括号()来创建一个子Shell,子Shell会继承父Shell的环境,但在子Shell中做的任何修改都不会影响到父Shell。#!/bin/bash # Create a subshell (cd /tmp; ls)2. 陷阱信号与信号处理Shell脚本可以捕获和处理系统发出的信号,如SIGINT(通常通过Ctrl+C产生)。#!/bin/bash # Trap SIGINT trap 'echo "Caught SIGINT"; exit' SIGINT echo "Script is running. Try pressing Ctrl+C." while true; do sleep 1 done3. 并发执行与等待Shell脚本可以利用&将命令放入后台执行,并使用wait命令等待后台进程完成。#!/bin/bash # Run commands in the background command1 & command2 & # Wait for all background processes to finish wait结语通过本文的改写和扩展,我们详细探讨了Shell编程的基础和进阶内容,包括变量、条件语句、循环、函数、数组、文本处理、用户输入、文件操作、调试以及高级Shell编程技巧。希望这些内容能够帮助你更好地掌握Shell编程,提高在Linux系统中的工作效率。
2025年05月18日
904 阅读
0 评论
0 点赞
2025-05-18
linux进程隐藏
暂无简介
2025年05月18日
1,243 阅读
0 评论
0 点赞
2025-05-18
【kali笔记】shodan的20种使用方法,信息收集必备
【kali笔记】shodan的20种使用方法,信息收集必备Shodan是专注于搜索互联网连接设备的搜索引擎,能发现和分析设备及其漏洞,被誉为“物联网的搜索引擎”。官网获取APIkey:https://developer.shodan.io/眼睛放大一点,APIkey在右上角查看帮助参数详细 Commands: alert Manage the network alerts for your account # 管理账户的网络提示 convert Convert the given input data file into a... # 转换输入文件 count Returns the number of results for a search # 返回查询结果数量 download Download search results and save them in a... # 下载查询结果到文件 honeyscore Check whether the IP is a honeypot or not. # 检查 IP 是否为蜜罐 host View all available information for an IP... # 显示一个 IP 所有可用的详细信息 info Shows general information about your account # 显示账户的一般信息 init Initialize the Shodan command-line # 初始化命令行 myip Print your external IP address # 输出用户当前公网IP parse Extract information out of compressed JSON... # 解析提取压缩的JSON信息,即使用download下载的数据 scan Scan an IP/ netblock using Shodan. # 使用 Shodan 扫描一个IP或者网段 search Search the Shodan database # 查询 Shodan 数据库 stats Provide summary information about a search... # 提供搜索结果的概要信息 stream Stream data in real-time. # 实时显示流数据使用init初始化API在命令行中直接显示查询结果,例如搜索有关中国上海的服务器,并且开启了3389端口search直接将查询结果展示在命令行中,默认情况下只显示ip、端口号、主机名和http数据。也可以通过使用–fields来自定义显示内容。比如只显示ip、端口号、组织机构、主机名。# 搜索cn 拥有mysql服务,且包含了nginx服务的主机,并显示在终端中 shodan search --fields ip_str,port,org,hostnames mysql country:cn product:'nginx'搜索结果搜索日本的开启3389端口的服务器使用host可以指定IP地址,查看系统详细信息,地理位置、开放端口等这里也可以查看到漏洞信息,像这种不排除是蜜罐查看各种端口信息,比如3389远程端口开启,就能直接使用海德拉(Hydra)进行RDP协议爆破(请勿用于非法用途,造成的后果自行承担)Hydra使用:搜索设备(华为,思科防火墙之类的)使用stats统计nginx全球分布情况,stats通常用来统计数量使用download把这些分布情况下载下来parse可以用来解析数据,多用于python脚本中。通过vuln参数,用户可以指定一个CVE(Common Vulnerabilities and Exposures,通用漏洞披露)编号,来查找那些已知存在该漏洞的设备或服务。这里举例一个MS17-010(永恒之蓝)漏洞永恒之蓝复现过程:其他用法搜索指定的组织或公司 ,org搜索指定的操作系统/软件/平台搜索指定的IP地址或子网使用count命令获取搜索结果的数量使用myip命令获取自身外部可见的IP地址使用info命令查看自身账户的信息,包括认证的信息使用honeyscore命令查看是否有蜜罐保护,这里没计算出来,可以使用在线地址检测https://honeyscore.shodan.io/统计 cn 中使用了ssl的ip地址,并且服务使用了nginx,开启了3389远程端口的主机数量查找SSL证书已过期的设备,这可能是蜜罐的一种特征使用scan命令提交IP进行在线扫描,这里扫了半天没出来,不知道为什么scan参数 -h查看刚刚扫描的结果 listfacets参数在Shodan中的作用是获取特定搜索查询的统计信息,它允许用户对搜索结果中的某些属性进行分组和计数,以了解这些属性值的分布情况。统计指定网络段内与漏洞(vuln)相关的统计信息,并且限制结果只显示前10个最常见的漏洞指定系统oshttp.title查找HTTP响应中标题(title)字段包含特定文本的设备。这个参数可以帮助用户快速定位到具有特定标题的网页,这在渗透测试中尤其有用,因为某些管理界面或特定服务的页面标题可能包含敏感信息或标识。比如,搜索标题中包含"Login"的设备你懂的本期介绍这么多用法,如果还有其他好用的用法,还请师傅们留言指出,让更多的师傅们学习。往期推荐XSS高级用法,SEO优化,挂ma,MS14_064一款开源持续更新的后渗透免杀框架【RCE剖析】从0-1讲解RCE漏洞绕过,Windows与Linux/RCE漏洞绕过方式总结----实战解析Win11综合渗透系统,第二个”kali“武器库——文末抽黑神话【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS
2025年05月18日
825 阅读
0 评论
0 点赞
1
...
15
16
17
...
35