网络安全-pikachu之SQL注入漏洞(数字型注入)

哦,SQL注入漏洞,可怕的漏洞。

在owasp发布的top10排行榜里,注入漏洞一直是危害排名第一的漏洞,其中注入漏洞里面首当其冲的就是数据库注入漏洞。

一个严重的SQL注入漏洞,可能会直接导致一家公司破产!

SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的"数据"拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱裤、被删除、甚至整个服务器权限沦陷)。

在构建代码时,一般会从如下几个方面的策略来防止SQL注入漏洞:

1.对传进SQL语句里面的变量进行过滤,不允许危险字符传入;

2.使用参数化(Parameterized Query 或 Parameterized Statement);

3.还有就是,目前有很多ORM框架会自动使用参数化解决注入问题,但其也提供了"拼接"的方式,所以使用时需要慎重!

SQL注入在网络上非常热门,也有很多技术专家写过非常详细的关于SQL注入漏洞的文章,这里就不在多写了。

你可以通过"Sql Inject"对应的测试栏目,来进一步的了解该漏洞。

打开界面如下:发现数字是提交的,我先提交看看是get还是post请求,地址栏没显示,那就是post,需要我抓包。

抓包显示id可能为注入点:

那么我直接加一手单引号,看什么结果。显示语法错误,那么这里的单引号一定是闭合了。

实战中确定这里有注入点之后,可以直接使用sqlmap来跑,但是我这里是学习,所以就手动注入来得到结果。

id=2 and 1=1 回显正常,存在注入点,验证了数字型注入。

猜测返回字段的长度,id=1 order by 2

确定返回字段为2,所以查询数据库名:id=1 union select database(),2#

漏洞验证成功。

相关推荐
2601_957174652 小时前
零基础学网络安全能学好吗
安全·web安全
aaPIXa6222 小时前
C++ 用 13 条规则让模型写出安全现代 C++
java·c++·安全
m0_738120724 小时前
PHP代码审计基础——超全局变量(三)
开发语言·安全·网络安全·php
醉城夜风~5 小时前
SQL DQL数据查询语言全套学习笔记(基础查询→执行顺序全解析)
笔记·sql·学习
m0_738120727 小时前
PHP代码审计基础——面向对象(四)
android·开发语言·网络·安全·github·php
带娃的IT创业者7 小时前
监控并非安全:当隐私成为技术的祭品
java·开发语言·安全·数据安全·监控·隐私保护·加密技术
MartinYeung58 小时前
[论文学习]LLM-based AI Agent 安全威胁与防御系统性综述
人工智能·学习·安全
不会C语言的男孩9 小时前
TCP通信可视化工具,含下载地址
服务器·网络·安全
Csvn9 小时前
📊 SQL 入门 Day 1:SELECT & WHERE — 数据查询的基本功
后端·sql
苍狼唤10 小时前
SQL+C# 增删改查(练习)
数据库·sql·c#