Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >网安工具 | Windows便携式渗透测试环境PentestBox入门到进阶使用指南

网安工具 | Windows便携式渗透测试环境PentestBox入门到进阶使用指南

作者头像
全栈工程师修炼指南
发布于 2023-10-31 10:24:36
发布于 2023-10-31 10:24:36
3.1K00
代码可运行
举报
运行总次数:0
代码可运行

本文为作者原创文章,为尊重作者劳动成果禁止非授权转载,若需转载请在【全栈工程师修炼指南】公众号留言,或者发送邮件到 master@weiyigeek.top 中我将及时回复。

免责申明:本文分享旨在给网络安全从业人员、网站开发人员以及运维管理人员在日常工作中进行安全测试以及防范恶意攻击, 请勿恶意使用下面介绍技术进行非法网络攻击,作者不为此承担任何责任,所有渗透都需获取授权,谨防从入门到入狱!

【中华人民共和国网络安全法】: http://www.npc.gov.cn/npc/c30834/201611/270b43e8b35e4f7ea98502b6f0e26f8a.shtml

0x00 前言介绍

描述: PentestBox是一个基于Windows的便携式渗透测试环境, 它基于ConEmu 和 cmder进行设计的。它包含了许多常用的渗透测试工具和应用程序,如Metasploit、Nmap、Burp Suite等。PentestBox的设计初衷是为了方便渗透测试人员在Windows系统上进行测试,无需进行复杂的安装和配置。它可以直接从USB驱动器或其他便携设备上运行,而不会对主机系统产生任何影响, PentestBox还提供了图形用户界面,使得渗透测试工作更加简单和直观。

简单的说:PentestBox是一款Windows平台下预配置的便携式开源渗透测试工具集环境,适合初学者和专业人士使用。

PentestBox 官网:https://pentestbox.org/zh/

Q: 为什么又有一个渗透测试环境?

PentestBox不同于运行在虚拟机或者双启动环境的Linux渗透测试发行版。它打包了所有的安全工具,并且可以在Windows系统中原生地运行,有效地降低了对虚拟机或者双启动环境的需求。我们发现超过50%的渗透测试发行版是运行在Windows系统下的虚拟机程序中,这激发我们创造了它。

Q: PentestBox功能特性

  • 设计简洁,易于使用,方便携带
  • 性能卓越,更少的内存占用,更少的磁盘占用
  • 没有依赖需求,无驱动问题
  • Linux 工具集,工具模块化
  • 内置浏览器,可更新特性
  • 32位系统支持

PentestBox 帮助文档: https://docs.pentestbox.org/


0x01 安装部署

描述: 从官网上下载速度还是蛮快的,这里我下载的是附带 metasploit 版本的 PentestBox,目前最新版本为 V2.2

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PentestBox:https://sourceforge.net/projects/pentestbox/files/PentestBox-v2.2.exe/download
# 种子:https://pentestbox.org/PentestBox-v2.2.torrent

# 安装有 Metasploit 的 PentestBox
https://sourceforge.net/projects/pentestbox/files/PentestBox-with-Metasploit-v2.2.exe/download

# 种子:https://pentestbox.org/PentestBox-with-Metasploit-v2.2.torrent

个人提示:建议在虚拟机里面进行安装测试后面可以直接从网络共享过来即可,当然您也可以将它安装到U盘上; 官网提示:按照带有metasploit 的版本的时候得关闭windows自带的防火墙,因为metasploit生成的攻击载荷 对于windows的安全来说是个威胁。

防火墙的关闭:

  • Windows7直接在控制面板里面关闭防火墙即可
  • Windows 10的话,除了关闭上述的防火墙还得关闭 Windows Defender (设置-更新和安全-Windows Defender 中关闭)

安装非常简单:直接运行 文件 选择安装的文件位置路径,即可安装,安装其实就是文件的释放,最后整个文件夹大小为4.55GB左右(2018年7月3日12:52:40);

知识补充

  • 采用安装在U盘或者文件网络共享都能直接运行pentestBox;
  • 文件网络共享:共享该文件夹作为一个驱动器上的其他计算机在同一个网络;更改读取权限读/写,并单击共享。现在在局域网的其他电脑上的的 资源管理器 中的 网络 可以看到共享的文件夹

0x02 工具结构说明

描述:从上面我们可以看到是PentestBox共5个文件夹,2个库文件,一个bat批处理和一个exe启动程序(bat和exe都可以启动PentestBox)。

工具快捷键

  • CTRL + T :要打开新的标签页
  • CTRL + C :要关闭脚本/程序运行。
  • CTRL + w :这将关闭当前活动的控制台。
  • ALT + Enter :Pentestbox 会去全屏。
  • SHIFT + ALT + number : 则打开 cmd 和 poweshell 新的窗口,可以自己设置;

工具集结构

描述:PentextBox 工具集一览表参考地址,可以看到实际上其中的工具都是kali系统中的一些常见工具。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 信息收集:
dnsrecon (DNS)
sublist3r
subbrute
automater (URL /域名,IP地址和Md5 hash OSINT工具旨在使分析过程更容易入侵分析师)
urlcrazy (RL劫持,钓鱼,和企业间谍活动)
theharvester
Responder (是一个LLMNR NBT-NS和mdn投毒者)- 探测内网获取域控权限总结
crackmapexec (其中的瑞士军刀Windows /活动目录环境。多亏了托马斯。编译的版本。)

# Web漏洞扫描器:
msfconsole
Burp Suite 
sqlmap
Nmap
ncat 
ndiff
nping
Wireshark
SnmpWalk (允许你检测一组变量可用于某一设备上阅读。)
ipscan (C段扫描)
dirbuster(目录爆破)
Commix(系统命令注入漏洞自动化测试工具)
Vega (扫描仪和测试平台) -- 实用
jSQL(SQL注入)-- 可以学习SQL - 实用
testsslserver (PentestBox SSL / TLS服务器(名称和端口给出参数))
sslscan (SSL扫描)

Nikto(web服务器(GPL)扫描仪对web服务器执行全面测试多个项目)
dotdotpwn(目录遍历模糊器)
fimap(webapps本地和远程文件包含漏洞)
Golismero(安全性测试的是一个开源框架)
PadBuster 自动化脚本执行Padding Oracle的攻击
wpscan (kali)
joomscan(kali)
cmsmap (python开源CMS扫描),自动检测安全漏洞的过程中最受欢迎的CMS
VBScan (基于perl编程语言是)一个开源项目的检测链入页面CMS漏洞和分析。
joomscan(kali)Joomla它可能是最广泛使用的CMS,由于其灵活性,用户友好性,可扩展性命名一些;
Instarecon (自动化的基本数字侦察)伟大的目标获得最初的足迹,发现额外的子域。InstaRecon会做的事:DNS(直接、PTR MX,NS)查找域名查询服务(域和IP)查找谷歌在搜索的

SpiderFoot(信息收集-不行)
sslstrip(不行)
sslyze(不行)


#开发工具(框架):
Metasploit Framework
beefproject (beef是浏览器开发框架。这是一个渗透测试工具,它关注的是web浏览器。)

温馨提示: 若想添加自定义工具到PentestBox中,你可以参照如下方法指南进行手动操作。

  • 1.下载/克隆工具文件,2.设置别名 别名是基本上是需要PentestBox控制台通过;

Step1.首先复制文件到 C:/PentestBox/bin/customtools/下添加一个别名,需要编辑customaliases文件 位于/PentestBox/bin/customtools/文件夹下。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hello=python "%pentestbox_ROOT%\bin\customtools\Hello.py" $*  /**python*/
tool="%pentestbox_ROOT%\bin\customtools\tool.exe" $*   /**exe*/
tool=start javaw -jar "%pentestbox_ROOT%\bin\customtools\tool.jar" $*  /**Java */
wpscan=ruby "%pentestbox_ROOT%\bin\customtools\wpscan\wpscan.rb" $*   /**Ruby */

在PentestBox 中添加自己的Java 和 Ruby工具,方法的原理是一样的,只是在编辑 customaliases文件的时候,语法格式有点区别工具格式参考上面的格式。


0x03 基本操作

安装升级卸载

描述:在PentextBox中软件安装 安装/升级/卸载 软件:toolsmanager 它会从github上进行检测是否存在更新;

  • 首先,它会从GitHub的信息库自动更新,然后会显示菜单。如果没有互联网连接,脚本会等待一段时间,然后显示菜单。
  • 其次,可以通过选择编号进入相关的模块进行安装、升级、卸载
    • 安装:例如如果我选择了Web应用程序类别然后按10;
    • 更新:如果要更新的话这里直接输入编号 11将会升级所有安装的模块;
    • 卸载:在toolsmanager 的软件目录里面 我们现在想卸载已经安装过的软件的话,直接键入uninstall + 软件名比如uninstall xssless
  • 现在,如果你想安装imagejs然后键入install imagejs它会安装它。安装后重启 PentestBox,你所安装的工具会生效。

weiyigeek.top-软件升级

由于PentestBox是一个开源项目,让在PentestBox使用的所有文件都存在于它的Github上库。终端下输入:update 从它的Github上库,如果有任何更改,然后显示菜单将先进行自我更新。如果没有互联网连接,脚本会等待一段时间,然后显示菜单。

渗透利器详解

描述: 功能界面设置介绍, 请参考【PentestBox简明使用教程】这个PDF文件。

comspec设置

weiyigeek.top-功能设置图

环境变量设置

weiyigeek.top-环境变量设置图

功能特性设置

weiyigeek.top-功能特性设置图

若需要PentestBox完整的功能界面介绍PDF文件,请关注公众号回复【PentestBox】或者【10011】进行获取.


0x04 工具使用

描述:更多PentestBox工具模块请参考 modules.pentestbox.com 网站。

SpiderFoot - 开源情报自动化工具

描述: SpiderFoot是一个开源情报自动化工具。它的目标是实现自动化的过程对给定目标收集情报,这可能是一个IP地址,域名、主机名或网络子网。它可以用来进攻,即作为黑盒的一部分渗透测试收集的信息目标或防守来识别你的组织是免费提供什么信息对你攻击者使用。

weiyigeek.top-SpiderFoot开源情报自动化工具图

TestSSLServer - 测试SSL服务器工具

描述: TestSSLServer 是一个简单的命令行工具,联系一个SSL / TLS服务器(名称和端口给出参数)获得一些SSL相关信息。

weiyigeek.top-TestSSLServer测试SSL服务器工具图


0x05 入坑解决

问题1:MSF(metasploit)无法在PenTeseBox中启用

注意:安装好后,一定不要 updata all , 发如果运行了这个命令,因为盒子本身有的工具和环境是老版本的,update all 命令会导致环境错误而工具无法使用!否则会导致msf打不开,非要升级采用独立升级;问题:

解决方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim +72 C:/PentestBox/bin/metasploit-framework/lib/msf/core/payload/dalvik.rb; /**将时间改小一点*/

保存启动 msfconsole

问题2:Python 依赖无法下载问题

错误信息:

解决方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python –m pip install --upgrade pip
python –m pip install BeautifulSoup4

问题3:MSF 与 RUBY更新问题 |http以及https源的问题完成实例

Weiyigeek

需要下载的文件:

分别解压在:(1)替换ruby,删除原C:\PentestBox\base\ruby 内的文件 替换文件 (2)ruby_devkit 删除原文件 打开DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe 并解压到C:\PentestBox\base\ruby_devkit (3)替换下载最新版本的msf

路径设置:ruby:%Pentestbox%\base\ruby ruby_devkit:%Pentestbox%\base\ruby_devkit msf:%Pentestbox%\bin\metasploit-framework

查看ruby是不是按照成功

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ruby -v
ruby 2.2.6p396 (2016-11-15 revision 56800) [i386-mingw32] 

进行下一步->解决法子:我们就需要将原本https的证书更替掉

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gem update --system              ##gem更新系统,不行就下面
#更新源 自己按情况来
gem sources --add http://rubygems.org/--remove https://rubygems.org/ 
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
gem sources --add http://gems.ruby-china.org/ --remove https://rubygems.org/ 

gem sources -l                   --##查看源
gem sources –u                   --##更新源的缓存 

#再进行更新:
update all                               ##更新全部应用
gem install bundler
gem install bundle 
gem update bundler               ---##更新bundler

Weiyigeek

切入到msfconsole及metasploit-framwork的中,在metasploit下执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
bundle update
bundle install

应该会出现下面的错误

下一步-> 接着修改%Pentestbox%\base\ruby\lib\ruby\gems\2.3.0\gems\pcaprub-0.12.4\ext\pcaprub_c下的extconf.rb文件,在pcap_libdir 和have_library之间添加两行代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$CFLAGS = "-I#{pcap_includedir}"
$LDFLAGS = "-L#{pcap_libdir}" 

Weiyigeek

然后直接安装pcaprub 0.12.4 :gem install pcaprub -v '0.12.4' --source 'https://rubygems.org/'安装完成后使用,有可能要下载其他依赖这时执行 bundle insatall 即可

下一步->由于WpdPack默认在C盘,但是作为渗透测试盒子,怎么可以不方便。这里的WpdPack路径可以修改。复制之前解压到C盘的WpdPack文件夹到PentestBox目录。C:\PentestBox\base\ruby\lib\ruby\gems\2.3.0\gems\pcaprub-0.12.4\ext\pcaprub_c\extconf.rb

完成后执行:bundle install

问题4:MSF(metasploit)无法连接PostGreSql数据库?

Weiyigeek

在PentestBox的bin\customtools\customaliases进行修改 (F代表:pentest box整个路径)

其中 msfupdate = cd / d“%pentestbox_ROOT% (d代表:pentestbox文件路径) msfupdate = cd /d "%pentestbox_ROOT%\bin\metasploit-framework" * 下载PostgrepSQL::http://www.enterprisedb.com/products-services-training/pgdownload

安装

即可:

创建一个msf数据库切且postgres的用户;

修改bin\metasploit-framework\config 的database.yml?文件,更改以下代码并保存:

  • database: msf //新建的数据库名称
  • username: postgres //数据库用户
  • password: passwod //数据库用户的密码

Weiyigeek

使用以下代码链接数据库:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
db_connect postgres:密码@localhost/数据库名称
db_status

Weiyigeek

问题5:ettercap无法运行,缺少packet.dll.wpcap.dll ?

http://www.33lc.com/soft/32448.html http://www.3987.com/xiazai/1/18/43559.html#down

  1. 退出正在运行的所有程序,并将xapofx1_5.dll文件复制到系统目录下 Windows 95/98/Me系统,则复制到C:\WINdows\system32\ 目录下。Windows NT/2000系统,则复制到C:\WINNT\system32\ 目录下。Windows XP系统,则复制到C:\WINdows\system32\ 目录下。Windows 7/8系统,则复制到C:\WINdows\system32\目录下。
  2. 单击开始,然后单击运行。
  3. 输入 regsvr32 xapofx1_5.dll,然后单击确定。wpcap.dll
  4. 当收到“DllRegisterServer in Rld.dll succeeded”即成功修复。

问题6:输入’beef‘命令,为什么会提示以下命令提示?

解答疑惑:因为你没去看官方文档,默认启动命令根本不是所谓的’beef‘,而是‘beefproject’,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{lamb} beefproject
C:\PentestBox\bin\beef {git}
{lamb} Could not find addressable-2.4.0 in any of the sources

Weiyigeek

Weiyigeek

亲,文章就要看完了,不关注一下【全栈工程师修炼指南】吗?

问题7:PentestBox 面封装的atom 编辑器是无法输入汉语的,而且插件也会出现一些问题,比如minimap等得重新配置?

因为是国外开源项目的原因,有些配置不符合我们国内的本土风情,举个例子:解决方法:将自己原来的atom安装的文里件夹替换PentestBox里面的atom即可

C:\Users\CTF\AppData\Local\atom\app-1.12.6 (‘CTF’是我自己电脑的用户名)

Weiyigeek

问题8:PentestBox封装Burpsuite的是Free版本的,功能上自然比不上 国内的专业破解版的Burpsuite

解决方法:把专业版破解版的burpsuite替换进去,并重命名即可。

本文至此完毕,更多技术文章,尽情等待下篇好文!

原文地址: https://cloud.tencent.com/developer/article/2128561

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈工程师修炼指南 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
「SQL面试题库」 No_42 学生地理信息报告
「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试,代码能力和工作效率也会有明显提升。
不吃西红柿
2023/04/21
2390
LeetCode MySQL 618. 学生地理信息报告(row_number)
一所美国大学有来自亚洲、欧洲和美洲的学生,他们的地理信息存放在如下 student 表中。
Michael阿明
2021/02/19
4850
​LeetCode刷题实战618:学生地理信息报告
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
程序员小猿
2022/06/07
2230
​LeetCode刷题实战618:学生地理信息报告
Leetcode 618. 学生地理信息报告(分组行转列)
select min(case when continent='America' then name end) America, min(case when continent='Asia' then name end)Asia, min(case when continent='Europe' then name end)Europe from( select *,row_number() over(partition by continent order
glm233
2021/05/06
3670
蓝桥楼赛第23期-新冠疫情数据统计
2020 年,新冠疫情肆掠全球。约翰·霍普金斯大学 跟踪了全球病例数据,包括总病例数、COVID-19 传播速度以及全球爆发情况。我们拿到了截止于某日的疫情数据,希望通过 Python 统计出我们需要的疫情指标。
Spaceack
2020/11/04
5030
蓝桥楼赛第23期-新冠疫情数据统计
SQL 行转列+窗口函数的实例
今天继续和大家分享 HackerRank 上的 SQL 编程挑战的解题思路,这一次的题目叫做“Occupations”,属于中等难度级别,答案提交的成功率在 90% 左右。
白日梦想家
2020/08/02
2.1K0
【DB笔试面试467】Oracle中行列互换有哪些方法?
行列转换包括以下六种情况:(1)列转行。(2)行转列。(3)多列转换成字符串。(4)多行转换成字符串。(5)字符串转换成多列。(6)字符串转换成多行。其中,重点是行转列和字符串转换成多行。
AiDBA宝典
2019/09/29
1.8K0
【DB笔试面试467】Oracle中行列互换有哪些方法?
常见大数据面试SQL-查询每个学科第三名的学生的学科成绩总成绩及总排名
有学生成绩表,包含学生姓名、学科、成绩三个字段,请用一条SQL查询出每个学科排名第三名的学生,他的学科成绩、总成绩、以及总排名。
数据仓库晨曦
2024/07/12
2550
常见大数据面试SQL-查询每个学科第三名的学生的学科成绩总成绩及总排名
LeetCode数据库题目集合
编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
MiChong
2021/02/24
9700
LeetCode数据库题目集合
LeetCode面试SQL-获取最近第二次活动
该表不包含主键 该表包含每个用户在一段时间内进行的活动的信息 名为 username 的用户在 startDate 到 endDate 日内有一次活动
数据仓库晨曦
2024/10/09
1220
LeetCode面试SQL-获取最近第二次活动
oracle的行转列和列转行_sql中行转列
--============================================== 作者:王运亮(wwwwgou) 时间:2011-06-10 博客:http://blog.csdn.net/wwwwgou --==============================================
Java架构师必看
2022/05/26
4.1K0
大数据面试SQL-奖金瓜分问题
在活动大促中,有玩游戏瓜分奖金环节。现有奖金池为 10000元,代表奖金池中的初始额度。用户的分数信息如下表。表中的数据代表每一个用户和其对应的得分,user_id 和 score 都不会有重复值。瓜分奖金的规则如下:按照 score 从高到低依次瓜分,每个人都能分走当前奖金池里面剩余奖金的一半,当奖金池里面剩余的奖金少于 250 时(不含),则停止瓜分奖金。现在需要查询出所有分到奖金的 user_id 和其对应的奖金。
数据仓库晨曦
2024/08/01
1220
大数据面试SQL-奖金瓜分问题
这5个超级经典SQL都不会,回去等通知吧
可以用反向思维,先查询出表里面有小于 80 分的 name,然后用 not in 去除掉
不吃西红柿
2022/09/19
3130
这5个超级经典SQL都不会,回去等通知吧
常见大数据面试SQL-奖金瓜分问题
在活动大促中,有玩游戏瓜分奖金环节。现有奖金池为 10000元,代表奖金池中的初始额度。用户的分数信息如下表。表中的数据代表每一个用户和其对应的得分,user_id 和 score 都不会有重复值。瓜分奖金的规则如下:按照 score 从高到低依次瓜分,每个人都能分走当前奖金池里面剩余奖金的一半,当奖金池里面剩余的奖金少于 250 时(不含),则停止瓜分奖金。现在需要查询出所有分到奖金的 user_id 和其对应的奖金。
数据仓库晨曦
2024/07/26
1230
常见大数据面试SQL-奖金瓜分问题
Oracle DBA的SQL编写技能提升宝典(含SQL资源)
背景:要迁移数据库,需要创建与源库相同的表空间,大小与源库相同。由于个别表空间较大,手工添加可能需要写很多的脚本,于是同事通过PL/SQL解决了问题。
数据和云
2021/10/13
1.2K0
Oracle DBA的SQL编写技能提升宝典(含SQL资源)
那些年我们写过的T-SQL(中篇)
中篇的重点在于,在复杂情况下使用表表达式的查询,尤其是公用表表达式(CTE),也就是非常方便的WITH AS XXX的应用,在SQL代码,这种方式至少可以提高一倍的工作效率。此外开窗函数ROW_NUMBER的使用也使得数据库分页变得异常的容易,其他的一些特性使用相对较少,在需要时再查阅即可。 本系列包含上中下三篇,内容比较驳杂,望大家耐心阅读: 那些年我们写过的T-SQL(上篇):上篇介绍查询的基础,包括基本查询的逻辑顺序、联接和子查询 那些年我们写过的T-SQL(中篇):中篇介绍表表达式、集合运算符和开窗
用户1216676
2018/01/24
3.9K0
那些年我们写过的T-SQL(中篇)
滴滴大数据面试SQL-取出累计值与1000差值最小的记录
已知有表t_cost_detail包含id和money两列,id为自增,请累加计算money值,并求出累加值与1000差值最小的记录。
数据仓库晨曦
2024/05/18
1940
滴滴大数据面试SQL-取出累计值与1000差值最小的记录
小红书大数据面试SQL-查询每个用户的第一条和最后一条记录
现有一张订单表 t_order 有订单ID、用户ID、商品ID、购买商品数量、购买时间,请查询出每个用户的第一条记录和最后一条记录。样例数据如下:
数据仓库晨曦
2024/06/27
2780
小红书大数据面试SQL-查询每个用户的第一条和最后一条记录
常见大数据面试SQL-查询前2大和前2小用户并有序拼接
有用户账户表,包含年份,用户id和值,请按照年份分组,取出值前两小和前两大对应的用户id,需要保持值最小和最大的用户id排首位。
数据仓库晨曦
2024/07/12
1360
常见大数据面试SQL-查询前2大和前2小用户并有序拼接
LeetCode面试SQL-给定数字的频率查询中位数
在此表中,数字为 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 3,所以中位数是 (0 + 0) / 2 = 0。
数据仓库晨曦
2024/10/14
1250
LeetCode面试SQL-给定数字的频率查询中位数
推荐阅读
相关推荐
「SQL面试题库」 No_42 学生地理信息报告
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验