技战法——每年的玄学百科。
甲方觉得你写了就有分,你觉得这点屁分顶不住一条信息泄露。
今天废话少一点,来一篇实战技战法。写在前面:此篇技战法为up在hw中实际提交过并加了分的(非guohu哈),拆解步骤用于教学用,原文已适当删减。
xxxxx(具体时间)在xxx(安全设备)上发现SQL注入(这里以sql注入为例子)
(不给图片了,大家自己看情况粘上去)
(也不给图片了,大家自己看情况粘上去)
通过查询告警发现该次攻击使用payload为(展示部分):
"formerQuery": "(AP=(............)) AND LG=(......) AND (PNC=CN) AND (PT=1) AND (ADY=(2015))",}
/**/and/**/1=1/**/and/**/
1!=
2初步分析:从该攻击者使用paylad分析来看可以确认3、4payload为探测语句,测试是否存在sql注入漏洞,第一个payload疑似发现SQL注入漏洞点,利用sleep函数进行时间注入的测试,第二个payload实际为正常业务访问,json自带,已实际抓包测试,判断为误报。综合上述情报,目前判断为该攻击者对系统发起了SQL注入攻击,探测+函数测试,状态码返回为200,疑似攻击成功,需要进一步判断。
经过与管理员确认,未发现数据库改写记录、未发现数据库操作异常记录、未发现数据库新增管理账户记录、未发现异常查询记录。
经过与管理员确认,未发现日志异常,未发现该IP其他异常行为。
进一步分析:该次攻击行为未成功,返回再次查看数据包时注意到的细节有:payload插入位置并不一致,ua、请求路径甚至cookie的位置皆有发生,总体请求量不大,首先排除漏洞扫描攻击、poc、黑客工具sqlmap等,确认为手工注入,且为泛测试,该攻击者并不确定漏洞位置、漏洞是否真实存在。
经还原,实际未能达到漏洞利用,状态码400,攻击为失败。后续在请求头及请求体各个位置插入SQL注入语句,结果均为400。
(select(0)from(select(sleep(15)))v)/'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"/
通过对上面这串payload二次分析,判断网站实际未能识别特殊符号混淆,攻击者本意为绕过waf,可网站实际并未采用waf防护,而是采用网站监测+ips模型进行动态防护,阻隔非法行为,动态免杀类机制无效。