【防溯源】利用腾讯云来隐藏连接Webshell的真实IP

2023-12-12 23:08

本文主要是介绍【防溯源】利用腾讯云来隐藏连接Webshell的真实IP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章来源|MS08067安全实验室

本文作者:大方子(MS08067实验室核心成员)

因为腾讯云函数自带CDN,这样我们可以通过腾讯云函数来转发我们的Webshell请求,从而达到隐藏真实IP的目的

首先来到腾讯云后台找到云函数,我们使用自定义的模版:


将下面代码复制到index.py中

# -*- coding: utf8 -*-
import requests
import json
def geturl(urlstr):jurlstr = json.dumps(urlstr)dict_url = json.loads(jurlstr)return dict_url['u']
def main_handler(event, context):url = geturl(event['queryString'])postdata = event['body']headers=event['headers']resp=requests.post(url,data=postdata,headers=headers,verify=False)response={"isBase64Encoded": False,"statusCode": 200,"headers": {'Content-Type': 'text/html;charset='+resp.apparent_encoding},"body": resp.text}return response


部署成功后,点击触发管理->创建触发器

这里需要选择API网关触发


创建成功后,我们就可以看到我们的访问路径


然后在我们的访问路径后面增加?u=webshell一句话木马的地址即可,例如

https://sxxxxxxxxxxxxxxxxx.gz.apigw.tencentcs.com/release/helloworld-1627229247?u=http://xxxx/webshell.php


这里我用docker-compose来临时搭建了一个PHP服务,利用docker-coompose快速搭建PHP:
https://github.com/nanoninja/docker-nginx-php-mysql


然后在对应的文件夹下写一个webshell


然后我们在开启一个终端来实时查看PHP容器的日志信息


这里我通过蚁剑直接连接,可以看到logs显示出了我的真实IP地址


然后我们在尝试通过腾讯云的云函数来访问我们的webshell。打开蚁剑url设置为刚刚复制的云函数访问路径?u=木马路径。

https://serxxxxxxxxxxxx.gz.apigw.tencentcs.com/release/forwarded?u=http://vps-ip/index.php


然后测试连接成功


然后我们再次访问webshell,可以看到IP已经变为腾讯云CDN的IP

补充:

这里最好在【函数管理】 -> 【函数配置】里面,最好把执行超时时间设置成和蚁剑里面的超时时间一样或者更长

扫描下方二维码加入星球学习

加入后邀请你进入内部微信群,内部微信群永久有效!

 

 

来和5000+位同学一起加入星球学习吧!

这篇关于【防溯源】利用腾讯云来隐藏连接Webshell的真实IP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/486266

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

Java 连接Sql sever 2008

Java 连接Sql sever 2008 /Sql sever 2008 R2 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestJDBC

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

2024.9.8 TCP/IP协议学习笔记

1.所谓的层就是数据交换的深度,电脑点对点就是单层,物理层,加上集线器还是物理层,加上交换机就变成链路层了,有地址表,路由器就到了第三层网络层,每个端口都有一个mac地址 2.A 给 C 发数据包,怎么知道是否要通过路由器转发呢?答案:子网 3.将源 IP 与目的 IP 分别同这个子网掩码进行与运算****,相等则是在一个子网,不相等就是在不同子网 4.A 如何知道,哪个设备是路由器?答案:在 A

nginx长连接的问题

转自: http://www.360doc.com/content/12/1108/17/1073512_246644318.shtml

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。

恶意PNG:隐藏在图片中的“恶魔”

<img src="https://i-blog.csdnimg.cn/blog_migrate/bffb187dc3546c6c5c6b8aa18b34b962.jpeg" title="214201hhuuhubsuyuukbfy_meitu_1_meitu_2.jpg"/></strong></span><

DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed

DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed 文章目录 DBeaver 连接 MySQL 报错 Public Key Retrieval is not allowed问题解决办法 问题 使用 DBeaver 连接 MySQL 数据库的时候, 一直报错下面的错误 Public Key Retrieval is