| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> SQL注入个人总结 -> 正文阅读 |
|
[大数据]SQL注入个人总结 |
1.SQL注入产生条件与原理:条件:与数据库有数据交互,有可控变量。 原理:由于未严格过滤用户输入,将用户输入带入SQL语句中执行,形成注入漏洞。 2.不同数据库注入:(注意是否有加密)常用数据库管理系统有Oracle,SQLServer,MySQL,DB等(除了Assess,别的只有语句上的区别) 注意: 需要判断数据库版本,例如mysql中5.0版本以上存在information_scheam记录了所有数据库名,表,列,可通过查询找到所需信息,但5.0以下就只能用工具跑字典。 information_scheam??????? 记录所有数据库名,表名,列名的数据库 information_scheam.tables??????? 记录所有表名信息的表 information_scheam.columns??????? 记录所有列名信息的表 table_name??????? 表名 column_name ??????? 列名 table_schema??????? 数据库名 注入思路: 1.判断字符型或是数字型 2.若是字符型判断闭合 3.判断有无回显
4.查数据库(也可跨库注入),数据库版本,注入权限 5.指定数据库下的表 6.表下的列名 7.查字段 Access数据库注入思路: Assess数据库不同在于自己就是一个数据库,不用查数据库名,直接查表名,union select 字段1,字段2 from 表名。 第二种方法也可使用偏移注入 SQL sever: 注意:在order by拆解表字段时,中间可能会有一个报错,例如 order by 1,2,3,4 但是在order by 1,2,3时可能会爆错,但是接下来不报错说明不单止3个字段,需要继续拆解。 3.后门写入(需要有文件写入权限)1.需要有绝对路径(绝对路径获取可通过 工具扫,报错,遗留文件,平台配置文件,cms识别等) 2.需要判断数据库版本,有些数据库中读写文件为null,不清楚是什么情况 文件写入,注入产生问题:
?????? 2.???? 内置函数过滤:这些需要自己判断出使用函数,然后上网找别的师傅分享的绕过姿势。 ?????? 3.????? 自定义函数过滤:这种没有源码大概率是吃不到西瓜了,想要绕过只能拿到源码后进行代码审计找突破口。 ??????? 4.??????? 不同的脚本只有一句话写法不同,作用都是一样的。 ??????? 5.??????? 写入可能会有内容检测,例如php的<?被过滤,就通过js写入后门。??????????????
4.SQL注入防御1.??????? 使用预编译(一般使用在JAVA中,也是可绕过的,但是具体姿势还不太懂,各位师傅可以来交流一下) 2.??????? PHP函数与自定义函数过滤用户输入。 3.??????? 部署WAF 4.??????? 限制用户输入(若为前端限制可在页面改) 5.WAF绕过1.??????? 内联注释(/!* */) 2.??????? 注释符混用(/**/) 3.??????? base64编码解码(具体的需要看能识别那种编码) 4.??????? 大小写绕过(SeleCt? UnioN? AnD等) 5.??????? 加密与解密(也是具体看能识别那种) 6.??????? 更改提交方式(POST GET Cookie?? HTTP头) 7.??????? 使用等价函数(功能相同,但是没有被拦截的函数) 8.??????? 使用特殊符号(* @ #等) 9.??????? HTTP参数污染加注释符(例:?id=1/**&id=-1*/这样写waf只能识别id=1而网站能识别id=-1) 10.?????? 垃圾字符(超过waf识别最大长度,就可绕过) 11.??????? 版本号绕过(/!* 50001 select * from test*/? 假设数据库版本为5.00.01以上会执行,修改50001实现waf绕过)mysql特性! 12.??????? 伪造文件参数(例:index.php/x.txt?id=1) 13.??????? 获取waf白名单文件,可直接注入 6.sqlmap注入绕过1.??????? 绕过cc流量防护绕过
?????????????? 使用参数: ????????????????X-Forworded-For ??????????????? X-Remote-IP ??????????????? X-originating-IP ??????????????? X-Remote-Addr ??????? 4.爬虫延迟调高,线程调低 ? 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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 8:32:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |