首页 > 数据库技术 > 详细

DAY2:SQL注入1

时间:2019-10-06 21:50:30      阅读:82      评论:0      收藏:0      [点我收藏+]
一、初识SQL注入
1. SQL注入原理
技术分享图片

 

 

2. SQL注入两个关键条件
①用户能控制输入的内容
②Web应用把用户输入的内容带入到数据库中执行
 
3. SQL注入的危害
技术分享图片

 

 

4. SQL注入的分类
①根据请求方式不同
技术分享图片

 

 

②根据SQL注入点的参数类型
技术分享图片

 

 

③根据SQL注入点的反馈类型
技术分享图片

 

 

④根据Web应用常用的数据库类型
技术分享图片

 

 

 
二、万能密码
(渗透测试遇到后台登录框尝试一下万能密码)
1. 万能密码原理(注释符:“#”、“--+”)
技术分享图片

 

 

2. SQL查询逻辑
 
 技术分享图片

 

技术分享图片

 

 

 

 
三、SQL手工注入流程(口述)
1. SQL注入基本流程
技术分享图片

 

 

2. 步骤
第一步:判断是否存在注入,识别注入点类型
技术分享图片
第二步:判断有多少列
技术分享图片
第三步:联合查询,判断数据显示点
技术分享图片

技术分享图片

 技术分享图片

 

 

 
获取数据常用函数:
user():返回当前使用数据库的用户
version():返回当前数据库的版本
database():返回当前使用的数据库
第四步:利用显示点获取SQL语句的执行结果
技术分享图片

 

 

查看数据库有哪些表:
(#号的url编码为%23,为防止不能输入一些特殊字符,采用url编码)
技术分享图片

 

 

第五步:查看对应表有哪些列
技术分享图片

 

 

第六步:查看账号密码信息
技术分享图片

 

 

⑦第七步:破解账号密码信息
技术分享图片

 

 

密码一般采用MD5加密,注意观察,MD5加密的密文一般为16位或32位,有时遇到40位,可以尝试去掉前四位和后四位,或者直接去掉前八位或后八位,或者前三位后五位,以此类推。
 
3. information_schema库
查询所有数据库:
union select 1,group_concat(schema_name) from information_schema.schemata
技术分享图片

 

 

常用函数:
concat():将多个字符串连接成一个字符串
concat_ws():将多个字符串连接成一个字符串,可指定分隔符
例如:concat_ws(‘**‘,name,age)
group_concat():将group by产生的同一个分组中的值连接起来,返回一个字符串结果
例如:select name,group_concat(id order byid desc separator ‘-‘) from table1 group by name;
 
 

DAY2:SQL注入1

原文:https://www.cnblogs.com/niangaoSDS/p/11628371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!