SOCKS5协议
SOCKS5协议连接过程SOCKS5服务器默认监听的端口是1080端口 连接到服务器:SOCKS5客户端会通过TCP三次握手与SOCKS5服务器建立连接 协商过程:首先SOCKS5客户端会发送一个请求到服务器。告诉服务器自己支持什么方法。并带有一个方法列表(例如:A,B,C)。然后SOCKS5服务端会返回一个请求,告诉客户端要使用的方法(例如:B) 然后客户端就会用过服务器选定的方法来验证。验证通过之后就会开始请求代理访问了 请求访问:客户端首先会向SOCKS5服务器发送一个请求。 告诉SOCKS5服务器自己想要发送的请求(例如: 想要通过TCP连接baidu.com的 443端口)。然后SOCKS5服务器会向baidu.com的443端口发送一个请求连接。将SOCKS5请求的内容原封不动的发送给目标。 然后再将目标的返回包原封不动的发送给SOCKS客户端 断开连接:...
ImaginaryCTF 2024
Webjournal题目给出了index.php的源码 123456789101112131415161718192021222324<?phpecho "<p>Welcome to my journal app!</p>";echo "<p><a href=/?file=file1.txt>file1.txt</a></p>";echo "<p><a href=/?file=file2.txt>file2.txt</a></p>";echo "<p><a href=/?file=file3.txt>file3.txt</a></p>";echo "<p><a href=/?file=file4.txt>file4.txt</a></p>";echo...
Golang net/http包客户端的使用
Go发起HTTP请求基本方法请求1. GET请求使用http.Get快速发起一个GET请求 123456789func get() { resp, err := http.Get("http://httpbin.org/get") if err != nil { panic(err) } defer func() { _ = resp.Body.Close() }() content, err := io.ReadAll(resp.Body) fmt.Println(string(content))} content返回的是一个字节数组 2.POST请求使用http.Post可以快速发起一个POST请求 123456789func post() { resp, err := http.Post("http://httpbin.org/post", "", nil) if err != nil...
Hacker_Kid-v1.0.1
靶机下载链接:Hacker kid: 1.0.1 一、信息收集1、主机发现使用arp-scan扫描内网主机 2.端口扫描使用nmap -T4 -sV -p 0-65535 192.168.22.137进行端口扫描 二、打靶靶机在 80 9999端口开放了web服务。。在53端口开放了DNS服务 访问web页面 9999端口开放一个登录页面 80端口这边前端源码中说让用GET传参传一个page_no参数 传入page_no = 1页面多了一个红字 传入page_no = 21时给了一个域名 用dig工具查询DNS信息 并指定DNS服务器为192.168.22.137得到了一个新的域名 修改一下本地host文件 进入这个地址,是一个注册账号的页面。如果Email不正确会进行回显 数据包是以XXE文档进行传输的,试一下XXE注入 可以进行文件读取 有一个saket用户,用PHP伪协议去读取.bashrc文件 为什么要读取.zshrc文件呢? 1.bashrc 文件是一个用于配置 Bash shell...
DownUnderCTF赛题复现
题目连接 WEBco2挺简单的原型链污染 route.py文件中设置flag的值 在/get_flag路由汇总如果flag == "true"则返回flag 在/save_feedback路由汇总调用了merge函数 123456789101112def merge(src, dst): for k, v in src.items(): if hasattr(dst, '__getitem__'): if dst.get(k) and type(v) == dict: merge(v, dst.get(k)) else: dst[k] = v elif hasattr(dst, k) and type(v) == dict: merge(v, getattr(dst, k)) else: setattr(dst, k,...
lazySysAdmin
一、信息收集1、主机发现使用arp-scan来寻找存活的主机 192.168.22.135是目标地址 2、端口扫描使用nmap对目标端口进行扫描nmap -p 0-65535 -sV -T4 192.168.22.135 进入web页面,发现web根目录下只是一个静态页面 3.目录扫描 发现存在wordpress站点 提示myname is togie 收集WordPress上面的用户名 二、打靶利用收集到的用户名进行密码进行暴力破解,但是进行了很长时间也没爆破出来。 靶机开启了samba服务 就直接连接samba 没有得到任何信息 使用enum4linux来枚举到samba服务器上面的信息 开启了匿名共享 share$列出共享的内容 deets.txt文件泄露服务器密码 登录上 togie可以sudo提权 做法2目录扫描时候扫到了一个phpmyadmin 任何samba也泄露了wp的配置文件。里面记录着数据库用户Admin的账号和密码 登录进去phpmyadmin 发现一个表也查看不了 可以用show columns from...
driftingblues2
一、靶机安装VMware打开靶机 定义好虚拟机的路径,进行安装 安装后网卡改为nat 然后还需要按照看完这篇 教你玩转渗透测试靶机Vulnhub——DriftingBlues-2进行网卡配置 二、信息收集1.主机发现 其他的ip地址都是我其他虚拟机的ip除了192.168.22.132 2.端口扫描 80端口开启了web服务 访问 就一个图片背景的网页。没什么东西 3.目录扫描 三、打靶流程根据目录扫描结果推测是用wordpress搭建的博客,博客根目录在/blog 点击网页中的链接会调转到driftingblues.box域名下 配置一下本地hosts文件 都是些文章,没找到什么重要信息 使用wpscan来收集wordpress用户名 wpscan --url "http://driftingblues.box/blog" --enumerate u 此时也要配置一下kali中的/etc/hosts文件 找到用户名albert 进行弱口令爆破wpscan --url http://driftingblues.box/blog/ -P...
DC-4
一、靶机安装靶机下载地址DC: 4 下载后将解压zip包得到ova文件,然后用VMware打开ova文件 然后给靶机分配好名字和存储位置后导入 二、主机发现使用arp-scan进行主机发现 三、端口扫描使用nmap -p 0-65535 -T4 -sV...
DC-3
一、靶机安装靶机下载地址DC: 3.2 下载压缩包后得到DC-3.ova文件,将其用VMware打开。 设置好虚拟机名称和存储路径之后,导入虚拟机 导入失败点击重试即可 将网络设置改为nat模式 这里报错的话需要我们将磁盘设置改一下 将IDE设备重0:1改为0:0 二、信息收集1.主机发现 2.端口扫描只在80端口开放了http服务 三、访问web页面 在登录框处试了试弱口令,sql万能密码。无成果 用dirsearch进行一波目录扫描 扫到了很多东西,扫出了后台登录页面/administrator/。 在这个页面尝试了,弱口令、sql万能密码也没有任何成果。 上面用dirsearch扫描出了很多目录,访问了之后,大多也是空白页面,没有任何回显。 在网站README.txt文件中找到了cms的版本 在网上搜了一下,发现这个版本存在sql注入漏洞 用上面的poc来验证,确实存在SQL注入漏洞。 因为没有什么过滤,为了节省时间,这里我就用sqlmap跑了。 1sqlmap -u...
DC-1
一、靶机下载靶机下载地址DC: 1 下载后将压缩包中的ova文件解压出来,然后用VMware打开 填上虚拟机名称和报错路径 这边点重试即可 二、主机发现1.使用arp-scan 2.使用msf进行主机发现使用auxiliary/scanner/discovery/arp_sweep 模块进行主机发现 如果无法扫到主机,把虚拟机的网络配置换成nat模式 三、端口扫描1.使用nmap进行端口扫描 2.使用msf进行端口扫描使用msf的auxiliary/scanner/portscan/tcp 模块进行扫描 四、访问web页面80端口开放了http服务,我们访问web页面看看 进入web页面,进行注册账号,发现账号注册后需要管理员审核。 找回密码功能也是会对用户绑定的邮箱发送邮件 在登录功能中、尝试了sql 没有发现什么问题 弱口令爆破也没用什么结果(还因为爆破的次数太多导致ip被封了) web页面用的Drupal...















