靶场科普 | sql注入之Referer注入

发表时间:2022-01-24 15:45

本文由“东塔网络安全学院”总结归纳

靶场介绍:

sql注入之Referer注入


今天,给大家介绍一下“东塔攻防世界”其中的一个靶场:“sql注入之Referer注入”。


注:登入账户和密码为:admin/admin


、实验介绍

HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。


二、实验目的

1.了解Referer的概念

2.掌握Referer注入的防御方式


三、实验步骤

1.启动靶场,查看实验环境;

2.进行登入,登录成功下方会提示referter信息;

3.设置burp代理,进行抓包;

4.在Referter处使用报错注入方法进行注入;

5.获取数据库名,表名,字段名。


四、防御方式

1.关闭应用的错误提示

2.加waf

3.对输入进行过滤

4.限制输入长度

5.限制好数据库权限,drop/create/truncate等权限谨慎grant

6.预编译好sql语句,python和Php中一般使用?作为占位符。这种方法是从编程框架方面解决利用占位符参数的sql注入,只能说一定程度上防止注入。还有缓存溢出、终止字符等。

7.数据库信息加密安全(引导到密码学方面),不采用md5因为有彩虹表,一般是一次md5后加盐再md5

8.清晰的编程规范,结对/自动化代码 review ,加大量现成的解决方案(PreparedStatement,ActiveRecord,歧义字符过滤, 只可访问存储过程 balabala)已经让 SQL 注入的风险变得非常低了。