ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sql(部分)

2022-01-09 23:04:43  阅读:165  来源: 互联网

标签:## 数据库 sql schema 部分 我们 注入


# sql注入
sql注入 我们不管注入的形式是什么我们只要知道和数据库进行交互的时候就有可能出现漏洞我们抓个包直接改包就好了 sql注入会对我们的数据和我们的权限造成危害的
## sql浅谈
SQL注如就是将我们想要查询的sql语句通过参数传递到后台的sql语句中去执行查询我们要的东西。
  我们要想想我们能去进行sql注入的条件是什么,我们要将我们的语句去上传也就是我们需要要一个可控变量,然后这个变量是要被后台接受并在数据库中查询的,在之后就是过滤不严谨这是看对方的,如果过滤特别严谨我们几乎是没有办法完成注入的。
## 判断注入点
我们要去完成注入的话我们肯定要去发现一个注入点,找注入点就大同小异了参数后面加and 1=1,and 1=2我们去看他的页面是否正常来判断

## 信息收集
我们在注入的时候我们肯定是要把注入语句给放到对应的参数上面的,不是盲注的话order by判断字段,然后我们就要去找到这个注入点的一些信息,例如数据库,用户权限,版本,操作系统之类的

## 注入操作
我们利用我们的判断的信息在mysql中5.0版本以上就会有一个information_schema
如果是低版本我们就不能用这个思路![](/uploads/upload_2f2d6762b50c0853299278fdc2dbcbd6.png)
我们可以通过他去找到所有的名字,符号“.”这个点表示的是下级例如information_schema.tables,这个就是记录了所有的表的名字的表
同理查列名也一样
在我们的MySQL里面我们找到root权限注入的话的话我们是可以跨站去查询其他数据库里的数据,我们有root权限的注入的话我们就可以查数据库名select * from schemeta,schemata_name
select table_name from information_schema.tables where table_schema="数据库名"这是查表名的
select column_name from information_schema.columns where table_name="表名"这是列名
select 列名 from 数据库名.表名 这是查看数据
## 绕过方式
如果有防护的话我们是要去绕过的那么绕过的方式
1.更换请求方式
2.将我们的注入语句编码
3.等价的关键字替换
4.注释符,特殊符号混用
5.大小写绕过
6.垃圾数据轰炸

标签:##,数据库,sql,schema,部分,我们,注入
来源: https://www.cnblogs.com/1024pingmin/p/15782612.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有