Go小记 Gorm模型
官方中文文档
0、安装12go get -u gorm.io/gormgo get -u gorm.io/driver/sqlite
1.连接到数据库GORM 官方支持的数据库类型有:MySQL, PostgreSQL, SQLite, SQL Server 和 TiDB
连接到mysql数据库12345dsn := "root:root@tcp(127.0.0.1:3306)/gormtest?charset=utf8mb4&parseTime=True&loc=Local"db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})if err != nil { panic("failed to connect database")}
2. GORM模型gorm.ModelGORM 提供了一个预定义的结构体gorm.Model。其中包含常用的字段
123456type Model struct { ID ...
Go小记 使用Go实现SSH客户端
一、前言SSH(Secure Shell)是一种用于在不安全网络上安全访问远程计算机的网络协议。它通过加密的方式提供远程登录会话和其他网络服务,保证通信的安全性和数据的完整性。
本文使用golang.org/x/crypto/ssh包来实现SSH客户端
可以通过go get -u golang.org/x/crypto/ssh 来引包。其中参数-u指定从远程仓库下载最新版本
二、开发(1) 创建ssh客户端配置使用ssh.ClientConfig来创建一个结构体. 指定用户名User 和认证方法 Auth。忽略主机密钥验证,允许连接到任意服务器。
1234567config := &ssh.ClientConfig{ User: "Yliken", //用户名 Auth: []ssh.AuthMethod{ ssh.Password("Yliken"), //密码、 }, HostKeyCallback ...
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客户端
断开连接: 当客户端不再需要通过SOCKS5代理访问目标服务器时,会向SOCKS5服务器发送一个断开连接的请求。此请求通常是一个简单的命令,告知服务器关闭当前的连接会话。SOCKS5服务器收到断开请求后,会终止与目标服务器之间的连 ...
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 "< ...
流量分析
2024强网杯流量分析1tom::.:c1dec53240124487:ca32f9b5b48c04ccfa96f35213d63d75010100000000000040d0731fb92adb01221434d6e24970170000000002001e004400450053004b0054004f0050002d004a0030004500450039004d00520001001e004400450053004b0054004f0050002d004a0030004500450039004d00520004001e004400450053004b0054004f0050002d004a0030004500450039004d00520003001e004400450053004b0054004f0050002d004a0030004500450039004d0052000700080040d0731fb92adb0106000400020000000800300030000000000000000100000000200000bd69d88e01f6425e6c1d7f79 ...
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 { panic(err) } defer ...
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, v)
可以通过sava_f ...
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 wp_users来查询wp_ ...
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 /usr/sh ...