实验吧ctf wtf js版结题记录
打开首先想到的就是web里面what a fack那题满屏的字母-.-!看到最后面的那个==果断去用base64解了一下
结果出了满屏的01 ....
果然是WTF
这里就在考虑由01二进制转文件了
想了一下先转ACSII试了试,结果是满屏的乱码
统计了一下
发现是65536
最近啃计算机网络的我想到了window的端口数65535 0.0
emmm 256 * 256 = 65535
so?一个正方形!图片?
有点像二维码?
看了看大佬们的writeup都是python实现的
咱就自己用JS写吧
<!DOCTYPE html>
<html lang =“en”>
<head>
<meta charset =“UTF-8”>
<meta name =“viewport”content =“width = device-width,initial-scale = 1.0”>
< meta http-equiv =“X-UA-Compatible”content =“ie = edge”>
<style =“screen”>
* {
padding:0;
margin:0;
}
.a{
width: 1px;
height: 1px;
background: #000;
float: left;
}
.b{
width: 1px;
height: 1px;
background: #fff;
float: left;
}
.c{
width: 1px;
height: 1px;
background: #000;
}
.d{
width: 1px;
height: 1px;
background: #fff;
}
</ style>
<title> Document </
head>
<body>
<script type =“text / javascript”>
var a = "这里是base64转码后的01代码";
document.write(a.length+"</br>");
for(var o = 0;o<a.length;o++){
if(a[o]==0){
if((o+1)%256==0){
document.write("<div class='d'></div>");
}
else{
document.write("<div class='b'></div>");
}
}
else {
if((o+1)%256==0){
document.write("<div class='c'></div>");
}
else{
document.write("<div class='a'></div>");
}
}
}
</ script>
</ body>
</ html>
浏览器直接出二维码
提交的时候记得直接提交flag{}里的内容!
送二维码一张