大学生信息安全竞赛创新实践能力赛2018真题解析
讲师简介
讲师姓名:钱钇冰(4uuu Nya)
研究方向:Web安全
所属战队:Nu1L
工作经历:南京赛宁信息技术有限公司攻防实验室
授课内容:大学生信息安全竞赛创新实践能力赛2018真题解析
课程重点:初赛与分区赛真题解析
目录
1.初赛赛题解析
2.分站赛赛题解析
初赛赛题解析 – easyweb
SQL注入与JWT(Json web token)伪造
USERNAME: testuser
PASSWORD: test123
初赛赛题解析 – easyweb
初赛赛题解析 – easyweb
新注册用户testuser2,解码返回的jwt
”kid” : “5” 自增一位,判断为表中用户id
初赛赛题解析 – easyweb
存在密钥,且无法爆破
判断需要通过某种方式得到密钥
密钥存放在服务端,如果所有人密钥
是硬编码在代码中,则题目一定会有
读取或下载代码的操作,但经过测试
并没有这类型操作,所以判断每人密
钥都不相同,那么可能存放在数据库
用户表中,且与用户一一对应
初赛赛题解析 – easyweb
猜测后端用户表结构为
id
1
username
Admin
password
xxxxxx
secret
xxxxxx
和数据库有交互的操作仅有注册,登录
但测试后发现两个操作都无法进行攻击,还剩下jwt中的kid参数
登录流程一般为验证用户名与密码,而此处存在jwt,则会验证一次jwt的正确性,那么一定会取出secret
猜测jwt中的kid参数为用户id,在登录验证阶段会根据id取出secret进行jwt的验证,那么在此处构造一次sql注入
即可控制secret值,那么就可以进行伪造jwt