| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 大数据 -> WEB攻防-通用漏洞&SQL注入&MYSQL跨库&ACCESS常规注入 -> 正文阅读 |
|
|
[大数据]WEB攻防-通用漏洞&SQL注入&MYSQL跨库&ACCESS常规注入 |
|
目录 #知识点:1、脚本代码与数据库前置知识 2、Access数据库注入 3、MYSQL数据库注入-简易&权限跨库 #前置知识:-SQL注入漏洞产生原理分析脚本代码在实现代码与数据库进行数据通讯时(从数据库取出相关数据进行页面显示),将定义的SQL语句进行执行查询数据时。其中的SQL语句能通过参数传递自定义值来实现控制SQL语句,从而执行恶意的SQL语句,可以实现查询其他数据(数据库中的敏感数据,如管理员帐号密码)。这一个过程就可以叫做SQL注入漏洞 漏洞产生根本条件:可控变量 特定函数 http://192.168.46.160:85/Production/PRODUCT.asp http://192.168.46.160:85/Production/PRODUCT.asp?id=1513 如果下面的URL地址测试注入判断id有注入,手工测试该如何进行? http://192.168.46.160:85/Production/PRODUCT.asp?id=1513&page=1 Production/PRODUCT.asp?id=1513 注入语句&page=1? 对 Production/PRODUCT.asp?id=1513&page=1 注入语句? 错 -SQL注入漏洞危害利用分析通过sql注入可以实现对数据库数据的增删改查 SQL注入攻击流程1、猜测数据库类型 2、根据类型选择思路 ACCESS 独立存在ACCESS:access数据库是单独存在的数据库,它不像mysql存在多个数据库。 信息:数据库名、表名、列名、数据 MYSQL 统一管理MYSQL数据库:为了网站和数据库的安全性,MYSQL内置有ROOT最高用户,划分等级,每个用户对应管理一个数据库,这样保证无不关联,从而不会影响到其他数据库的运行。 信息:?最高数据库用户=root用户、表名、列名、数据 数据库A=网站A=数据库用户A、数据库B=网站B=数据库用户B MYSQL注入的思路: 1、非ROOT的注入攻击:常规类的猜解 2、ROOT用户的注入攻击:文件读写操作,跨库查询注入等 黑盒测试中可以采用user()获取当前用户权限,白盒中看连接用户即可! MYSQL5.0以上版本: 自带的数据库名information_schema,注入时可以通过以下数据库名查询信息 information_schema:存储数据库下的数据库名及表名,列名信息的数据库 information_schema.tables:记录表名信息的表 information_schema.columns:记录列名信息表 information_schema.schemata:记录所有数据库名 version():查询数据库版本 user():查询用户是否为root @@version_compile_os:查询系统 database():查询数据库名 案例:PHP+MYSQL-简易注入-存储特性先查看一下数据库信息。(正常的SQL注入下肯定不知道数据库的信息,为了方便讲解先透露一下数据库信息,以防出错)
访问该页面并传参id为1,成功获取了数据
那么开始利用and判断是否有注入点 and:可以理解为与的关系,当and左右的两个数据有一个为假时,结果就为假。比如:1=1 and 1=0 结果为假。 下面测试中,and左边的页面刚才访问过可以正常访问,证明为真。如果and后面的数据为假,那么整个表达式都为假,页面就不会正常显示。证明了后面数据可以被执行,那么就是有注入点。(注:也可以使用or,or的表达式中只有一个为真表达式就为真。)
union select 1,2,3:union代表联合查询,为了执行后面的代码。select为查询语句,select直接加数字时,可以不写后面的表名,那么它输出的内容就是我们select后的数字。 通过查询可以看见有1和2两个返回值,那么证明了1的位置和2的位置的数据可以被显示出来。(目前知道数据库中有三列数据,黑盒测试的情况下需要使用折半查找去试)
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年12日历 | -2025/12/2 7:02:30- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |