之前在网上看到很多师傅们总结的linux反弹shell的一些方法,为了更熟练的去运用这些技术,于是自己花精力查了很多资料去理解这些命令的含义,将研究的成果记录在这里,所谓的反弹shell,指的是我们在自己的机器上开启监听,然后在被攻击者的机器上发送连接请求去连接我们的机器,将被攻击者的shell反弹到我们的机器上,下面来介绍分析几种常用的方法。
在这一篇中,我们介绍了一点关于输入输出重定向和管道的基础知识,本篇将继续重定向的话题。 在开始前,先说一说shell中的引用。
如果在平时学习,工作中经常使用 FTP 服务器 ,可以设置成开机自启,在设置之前要先了解几个关于自启的命令;
最近需要在远程调用服务器的 jupyter-notebook 服务,关于怎么搭建 jupyter-notebook 远程服务请看我的这篇文章,每次使用都要开着一个终端才能使用服务,有时候切换一下代理,终端挂了,我就和服务器断开连接了,特别不爽,那么有没有办法在终端关闭之后还继续跑着服务器上的 jupyter-notebook 呢,答案肯定是有的
互联网控制消息协议(英语:Internet Control Message Protocol,缩写:ICMP)是互联网协议族的核心协议之一。
1、进程是什么?进程是应用的执行副本。应用的可执行文件是放在文件系统里,把可执行文件启动,就会在操作系统里(具体来说是内存中)形成一个应用的副本,这个副本就是进程。
在日常使用Linux命令时候,经常使用重定向或者管道的方式处理命令的结果。以前对这两个命令的使用场景存在一些困惑,所以本文对这两个命令进行详细的总结。
我需要同时利用许多已知的 SSRF 技术来成功利用同一公司的许多端点。在发现之后,我将其应用于使用攻击者控制的 URL 的所有功能,并发现 2 个盲读和 1 个全读 SSRF。这是一个错误赏金计划,因此盲 SSRF 以 dups 的形式关闭,另一个被接受。
循环中的重定向 或许你应该在其他脚本中见过下面的这种写法: while read line do … done < file 刚开始看到这种结构时,很难理解< file是如何与循环配合在一起工作的。因为循环内有很多条命令,而我们之前接触的重定向都是为一条命令工作的。这里有一个原则,这个原则掌握好了,这个问题就很简单了: 对循环重定向的输入可适用于循环中的所有需要从标准输入读取数据的命令; 对循环重定向的输出可适用于循环中的所有需要向标准输出写入数据的命令; 当在循环内部显式地使用输入或输出重定向,内部重定向覆盖外部重定向。 上面的while结构中,read命令是需要从标准输入中读取数据的。我们来详细了解一下read命令的用法吧,这个命令是shell脚本中使用频率最高的命令之一。 read 先来看一下read的命令语法: read arg1 arg2 arg3 arg4 … read是一个用来赋值的命令,它需要从标准输入获得值,然后把这些值按位置依次赋值给变量arg1、arg2、arg3、arg4…,输入的时候以空格作为字段分隔符。 read的一个最大特性是可以在脚本中产生交互,因为它从标准输入读取数据。read之所以很常用,一是因为我们经常需要赋值,二是因为它可以交互,三是read能够一次给多个变量赋值。 readhostipnamelinux10.0.0.1licongreadhostipnamelinux10.0.0.1licong read host ip name linux 10.0.0.1 licong echo hosthosthost ip namelinux10.0.0.1licongnamelinux10.0.0.1licongname linux 10.0.0.1 licong 可以看到,linux、10.0.0.1、licong分别被赋值给了变量host、ip和name。再看: readhostiplinux10.0.0.1licongreadhostiplinux10.0.0.1licong read host ip linux 10.0.0.1 licong echo hostlinuxhostlinuxhost linux echo ip10.0.0.1licongip10.0.0.1licongip 10.0.0.1 licong 当我们输入的字段比变量数目多时,最后一个变量的值将不只一个字段,而是所有剩余的内容;当输入字段比变量数少时,多余的变量将是空值,你可以自己试试。现在我们再来看 while read line do … done < file read通过输入重定向,把file的第一行所有的内容赋值给变量line,循环体内的命令一般包含对变量line的处理;然后循环处理file的第二行、第三行。。。一直到file的最后一行。还记得while根据其后的命令退出状态来判断是否执行循环体吗?是的,read命令也有退出状态,当它从文件file中读到内容时,退出状态为0,循环继续惊醒;当read从文件中读完最后一行后,下次便没有内容可读了,此时read的退出状态为非0,所以循环才会退出。 另一种也很常见的用法: command | while read line do … done 如果你还记得管道的用法,这个结构应该不难理解吧。command命令的输出作为read循环的输入,这种结构长用于处理超过一行的输出,当然awk也很擅长做这种事
现在大部分软硬件系统都是基于网络的,有走局域网(私网)的,有走外网(公网)的,会不可避免地出现很多与网络相关的问题,特别是将产品部署到安全级别较高的客户环境中,会出现各式各样的复杂网络问题。今天我们就来分享一下实际项目中遇到的多个网络问题,以供参考!
考虑到效率和正确性,每一种物理网络都会规定链路层数据帧的最大长度,称为链路层MTU。在以太网的环境中可传输的最大IP报文为1500字节。
原理非常简单,当在以上两种场景时,无法直接连接到webshell时,可以换一种策略。让webshell主动连接自己,而不是自己连接webshell。此时,又会产生两个问题。 一webshell如何自动自我唤醒自动发送连接; 二如何监听webshell发送的连接;
最近在帮一位大师傅测试招新赛的时候,发现自己对反弹shell是不太了解的,因此在用反弹shell解题过后,来对反弹shell进行相关学习,希望对各位师傅有所帮助。
15.1 理解输入和输出 现在知道两种显示脚本输出的方法 1)在显示器屏幕上显示 2)将输出文件重定向到文件中 15.1.1 标准文件描述符 Linux系统将每个对象当做文件处理。这包括输入和数出进程。 Linux用文件描述符来标识每个文件对象。 它是一个非负整数,可以唯一标识会话中打开的文件。 每个进程一次最多可以有九个文件描述符 bash shell保留的前3个文件描述符(0、 1、 2) 1.STDIN 标准输入(0) STDIN文件代表shell的标准输入。 对终端界面来说,标准输入是键盘。 she
客户端(kali)基于tcp第一次握手,给服务器端(centos)发送了大量标记位为SYN的包。 服务器端收到来自客户端的syn包后,对源ip返回标记位为syn_ack的包,这是第二次握手。 由于源ip是伪造的,所以返回的syn_ack包发送不到正确的地方,更不要说得到回应了。所以服务器端一直是SYN-RCVD阶段。
对于文件描述符就先知道这些就可以了,具体的使用会在重定向中来说,重定向就是对文件描述符的操作
最常用的启动jar包命令,特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
FRP服务可以分配给你一个域名让你本地的web项目提供给外网访问,特别适合向别人展示你本机的web demo以及调试一些远程的API(用作微信公众号,企业号的开发)
TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。 netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。 下面是一些使用netcat的例子. [A(172.31.100.7) B(172.31.100.23)]
Linux系统配置双网卡网络接口eth0和eth1,并在服务器上配置NAT(网络地址转换),在公网ip和内部网私有ip地址间配置静态NAT重定向数据包,使服务器成为透明网关从而使得内部网计算机可以无障碍访问外部互联网。 关键词:Redhat Linux;DNS(域名解析服务器);NAT(网络地址转换);iptables规则 步骤: Step1配置两块网卡的接口地址 设置第一块网卡eth0的IP地址和子网掩码:
在购买域名时,域名本身是不带有www的,但由于域名要通过DNS服务器解析后才可以使用,在这个过程中每一个域名是会指向一个web服务器ip地址,由于在很早之前网站方都会增加一个”www”的子域名来帮助客户以更多的路径访问网站,客户通常都会按照:”www.++.com”的形式来访问站点;如果你没有做这个www的解析那么”www.++.com”就不能访问,对于不懂技术或者不明白解析的客户来讲,这个问题可能会造成他不能访问你的站,因为他只是知道用带有”www”的形式访问你的站点,可能不知道”++.com”也是同样可以访问的!所以,后来也就有了更多人在延续这个做法;我们在购买空间域名时,服务商也会随手就帮你做了这个”www”的解析,当然,这个解析的服务器地址是和没有”www”相同的,造成:你用带”www”的和不带两个域名同时可以访问一个同样的内容。说白了这个问题的答案就是:能够让初次使用互联网的人更快的访问进你的网站。
kali Linux (内外:192.168.5.139) Centos8 (腾讯云:123.6.44.67)
背景 伴随着维基红色团队基础架构(Red Team Infrastructure Wiki)的发布,今年圣诞节早早来临。 它在Jeff Dimmock和Steve Borosh的惊人的红色团队基础架构介绍之后正式亮相。 在设计和保护基础架构时,我甚至无法理解维基有多高的价值,以下是我的观点: 维基强调的一个关键设计因素是在基础架构设置中使用重定向器(redirectors)。重定向(redirection)几乎可以应用于基础架构的所有功能,包括服务负载、避免IR和在其他服务器中保护你的C2服务器。损失一台
Netcat能做到的事情太多了,但和tcpdump一个流派,参数多的令人发指,拣常用的几个命令记录一下 场景 Server A: 192.168.100.100 Server B: 192.168.100.101 端口扫描 1 nc -z -v -n 192.168.100.100 21-25 可以运行在TCP或者UDP模式,默认是TCP,-u参数调整为udp. z 参数告诉Netcat使用Zero IO,指的是一旦连接关闭,不进行数据交换 v 参数指使用冗余选项 n 参数告诉Netcat 不要使用DNS
最近在搭建kafka的过程中,发现启动相关服务后,终端界面无法再进行操作。每次都需要开启多个终端界面,实在是特别麻烦。于是就研究了下Linux后台启动程序的方法,并整理了如下的笔记。
虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Windows 系统下运行DOS,中文版Windows XP中的命令提示符进一步提高了与DOS下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。
在一般使用时,默认的是标准输出,即1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。 另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。 Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
nohup 是一个在 Linux/Unix 系统中常用的命令,它的作用是在后台运行一个命令或脚本,并且不会因为终端的关闭而终止。换句话说,使用 nohup 运行的命令或脚本会忽略挂起(HUP)信号,即忽略终端关闭的信号。
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。 TLS与SSL在传输层对网络连接进行加密。
目标主机是Linux系统,目标主机防火墙有严格的限制,只允许80端口的流量进入。我们拿到了目标主机的Webshell并且拿到了SSH的账号密码。但是我们不能通过22端口远程连接,必须得利用80端口做端口复用连接。
「需要先进入安装好的目录/usr/local/nginx/sbin」【因为这里暂时还没有配置环境变量】
为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的。这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等)。所以Red Hat, Suse,Mandriva和其他的一些发行版厂商选择了一些保守的设置来确保安装成功。 简单地说:你的发行版运行的很好,但是它可以运行地更好! 比如,可能有一个具体一些特殊特性的高级硬盘,而这些特性在标准配置的情况下可能就没被启用。 磁盘子系统的调优 对于Linux的Ext3/4来说,几乎在所有情况下都有所帮助的一个参数是关闭文件系统访问时间,在/
Shell会自动为我们打开和关闭0、1、2这三个文件描述符,我们不需要显式地打开或关闭它们。
替换目录中的现有文件。 如果与 /a 选项一 起使用,则此命令会将新文件添加到目录,而不是替换现有文件
在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。
TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。
命令注入攻击是一种常见而危险的攻击方式,它可以使攻击者通过在目标系统中注入恶意命令来获取系统权限并执行恶意操作,为了应对命令注入攻击,开发人员们通常会采取各种限制措施,例如:输入验证、参数化查询等,然而正是在这些限制措施背后攻击者找到了一些巧妙的方法来绕过这些限制,从而成功地执行命令注入攻击,本文将重点关注命令注入限制绕过技术,探讨攻击者是如何利用漏洞和技术手段来绕过常见的命令注入防护措施的,我们将深入剖析一些常见的限制绕过技术
在当今互联网时代,网络安全问题备受关注。作为保护 Linux 系统的第一道防线,防火墙扮演着至关重要的角色。本文将深入探讨 Linux 防火墙的工作原理、配置方法以及一些高级功能,帮助读者更好地理解和配置防火墙,提高系统的安全性。
rewite 规则作用 Rewrite规则可以实现对url的重写,以及重定向 --作用场景 URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 SEO优化 维护:后台维护、流量转发等 安全 rewrite 语法 rewrite <regex> <replacement> [flag]; 关键字 正则 替代内容 flag标记 --解释 关键字 其中关键字error_log不能改变 正则 perl兼容正
1. HTTP重定向 当用户发来请求的时候,Web服务器通过修改HTTP响应头中的Location标记来返回一个新的url,然后浏览器再继续请求这个新url,实际上就是页面重定向。通过重定向,来达到“负载均衡”的目标 这个方式非常容易实现,并且可以自定义各种策略,但是,它在大规模访问量下,性能不佳,而且,给用户的体验也不好,实际请求发生重定向,增加了网络延时 所以此方式了解即可,实际应用较少 2. 反向代理负载均衡 反向代理服务的核心工作主要是转发HTTP请求,扮演了浏览器端和后台Web服务器中
大家在做渗透测试的时候,遇到linux的服务器,想反弹shell回来本地溢出提权,怎么办?上传反弹脚本?当然可以,简单来说就是A主机可以通过执行B主机上的命令并且把返回值都返回到A上。今天再告诉大家几种方法
Cobalt Strike使用C/S架构,Cobalt Strike的客户端连接到团队服务器,团队服务器连接到目标,也就是说Cobalt Strike的客户端不与目标服务器进行交互
在前文中学习了open函数,我们知道open函数的返回值就是文件描述符,本章将对文件描述符进行详细讲解。
系统操作 #使用shutdown命令马上重启系统 [root@H32 ~]# shutdown –r now #使用shutdown命令马上关闭系统 [root@H32 ~]# shutdown –h now #使用shutdown命令设置在15分钟以后自动重启系统 [root@H32 ~]# shutdown –r +15 显示在线登陆用户 who 显示当前操作用户 whoami 显示主机名hostname 显示系统信息uname
除此之外,谷歌翻译浏览器插件、Chrome浏览器右键翻译、谷歌翻译APP,均失效。
领取专属 10元无门槛券
手把手带您无忧上云