小迪安全笔记-28
小迪安全笔记-28
Kn1ght第28天:WEB攻防-通用漏洞_SQL注入_HTTP头XFF_COOKIE_POST请求
知识点
1、数据请求方式-GET&POST&COOKIE等
2、常见功能点请求方式-用户登录&IP记录等
3、黑盒白盒注入测试要点-SQLMAP注入参数
补充点
黑盒测试:功能点分析
白盒测试:功能点分析&关键代码追踪
1.数据库注入 - access mysql mssql oracle mongodb postgresql等
2.数据类型注入 - 数字型 字符型 搜索型 加密型(base64 json)等
3.提交方式注入 - get post cookie http头等
4.查询方式注入 - 查询 增加 删除 更新 堆叠等
5.复杂注入利用 - 二次注入 dnslog注入 绕过bypass等
数据库类型决定攻击的手法 -payload不同
数据类型注入-payload考虑闭合,数据格式
提交方式-数据请求不同,注入的时候需要按照指定方式去测试,URL没有参数并不代表没有注入,有些数据会在数据包才能体现。http数据包任何一个地方只要被接受,都有可能产生漏洞
ZZCMS
关键性函数getip():$ip=getip();获取IP地址
关键性执行函数:$sqln=”select * from zzcms_login_times where ip=’$ip’”;
有记录IP的函数,这样就会进行数据库操作
对getip()进行进一步跟踪,转到声明地方
关键接受:if (getenv(“HTTP_X_FORWARDED_FOR”) && strcasecmp(getenv(“HTTP_X_FORWARDED_FOR”), “unknown”))
$ip = getenv(“HTTP_X_FORWARDED_FOR”);
这个可以在数据包上构造,就是X-FORWARDED-FOR:8.8.8.8
这个接受IP并没有过滤,那么可以抓包,进行登录,请求,用X-FORWARDED-FOR:8.8.8.8进行代入注入。
构造payload:X-Forwarded-For:1.2.6.4’union select 1,2,3,4#
使用监控工具进行数据库监控,发现关键语句:
select * from zzcms_login_times where ip=’1.2.6.4’union select 1,2,3,4#’ and count>=5 and unix_timestamp()-unix_timestamp(sendtime)<900
也可以进行保存数据包,然后进行sqlmap进行注入。