【合天网安】DoraBox靶场之搜索型SQL注入

时间:2024-05-21 14:56:43

搜索型:

闭合单引号和百分号,手工注入获取数据

Select * from news where id like ‘%password%’

简介:

搜索型注入又称之为文本框输入。一些网站为了方便面用户查询网站的资源,提供了搜索的功能,GET型一般用在网站上的搜索,POST型则用在用户的注入;可以从form表单的method属性来区分是GET还是POST。

搜索型(文本框 )注入往往是因为程序员在编写代码时,忽略了对其变量的过滤,导致攻击者输入恶意变量使数据库执行。


 实验过程:

1、判断是否存在漏洞

【合天网安】DoraBox靶场之搜索型SQL注入

引入注释符,避免受到后面%‘影响,根据响应的数据不同来判断

【合天网安】DoraBox靶场之搜索型SQL注入

2、判断字段数

【合天网安】DoraBox靶场之搜索型SQL注入

3、猜解数据库名和用户

【合天网安】DoraBox靶场之搜索型SQL注入

4、获取到在pentest库中有account表和news表

【合天网安】DoraBox靶场之搜索型SQL注入

5、获取account表中的列数据

【合天网安】DoraBox靶场之搜索型SQL注入

6、最后注入,直接爆出数据库存储的数据。和前两种注入一样。

【合天网安】DoraBox靶场之搜索型SQL注入


思考题:

1)注入分为哪几种类型?

根据数据类型分为:1、整型注入 2、字符型注入

根据注入语法分为:1、联合查询注入 2、报错型注入 3、布尔型注入 4、延时型注入 5、多语句查询注入

 

2)SQL注入危害有哪些?

1、数据库信息泄露

2、网页篡改:登陆后台后发布恶意内容

3、网站挂马:当拿到webshell时或者获取服务器权限以后,可以将一些网页木马挂在服务器上,去攻击别人,造成更严重的感染。

4、私自添加系统账号,方便连续的攻击,成为肉机

5、获取重要文件,造成被攻击方不可估量的损害。

 

3)如何有效防御

1、对进去数据库的特殊字符(单双引号 尖括号等)进行编码转换

2、不要使用动态拼装SQL,使用参数化SQL

注:参数化SQL是把它看作只是一个T-SQL查询,它接受控制这个查询返回什么的参数。通过使用不同的参数,一个参数化查询返回不同的结果。要获得一个参数化查询,你需要以一种特定得方式来编写你的代码,或它需要满足一组特定的标准。

3、不要使用管理员权限的数据连接,最好为每个应用使用单独的数据库连接。

4、应用异常信息尽量给出少的提示,自定义报错信息对原始报错信息进行包装

5,使用安服业务的公司建立防火墙,安全狗,云盾等防御手段

 

以前防御措施的一些不足之地作简单脑部(记录):

——字符串检测:限定内容只能由英文、数字等常规字符,如果检查到用户输入有特殊字符,直接拒绝,但缺点是,系统中不可避免地会有些内容包含特殊字符,这时候总不能拒绝入库。

——字符串替换:把敏感危险字符替换成其他字符,缺点是危险敏感字符可能有很多,一一枚举替换相当麻烦,也很有可能有漏网之鱼。

——存储过程:把参数传到存储过程进行处理,但并不是所有数据库都支持存储过程。执行该过程的命令也是通过拼接字符串出来的,也是存在漏洞点。

 


(如有不足或者侵权的地方,请尽快联系我,我会及时修改或删除,非常感谢)

    我们要以高涨的信心和喷涌的力量去战斗。加油吧,少年,去追求更好的自己!