小迪安全笔记-28

第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

1.jpg

关键性函数getip():$ip=getip();获取IP地址

关键性执行函数:$sqln=”select * from zzcms_login_times where ip=’$ip’”;

有记录IP的函数,这样就会进行数据库操作

day28-1.png

对getip()进行进一步跟踪,转到声明地方

2.jpg

关键接受: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#

day28-2.png

使用监控工具进行数据库监控,发现关键语句:

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

3.jpg

也可以进行保存数据包,然后进行sqlmap进行注入。