杭电hgame wp
Are you from Europe?
描述
证明血统的时候到了点金链接自己先抽了好多次,并没有ssr,看到“只有拥有 SSR 的真正欧皇才配兑换 flag ”,想着用xff和accept-language变成欧洲人,改了之后并没有用
查看源代码,发现给了js的代码,还有一段很长的代码比较奇怪
1
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('w p(){b a=l("8!k,j 8 o 1 m?");5(!$("#4").7()&&!$("#9").7()){2("i。");f}b 1="";1+="";1+="";1+="";1+="y";1+="{";1+="g";1+="h";1+="3";1+="6";1+="v";1+="h";1+="0";1+="s";1+="e";1+="u";1+="6";1+="0";1+="n";1+="r";1+="!";1+="}";5(a){$("#4").d();$("#9").d();2("t。1: "+1)}q{2("x。")}}',35,35,'|flag|alert||serv5|if|_|html|SSR|craft5|buy|var||remove||return|T||你根本不是欧洲人|你愿意献祭你全部的|欧洲人|confirm|吗||来获取|soHappy|else|E||兑换成功|N|C|function|你失去了唯一的机会|hgame'.split('|'),0,{}))
这里是js代码加密,在线解密(http://tool.chinaz.com/js.aspx) 后,得到
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36function soHappy() {
var buy = confirm("SSR!欧洲人,你愿意献祭你全部的 SSR 来获取 flag 吗?");
if (!$("#serv5").html() && !$("#craft5").html()) {
alert("你根本不是欧洲人。");
return
}
var flag = "";
flag += "";
flag += "";
flag += "";
flag += "hgame";
flag += "{";
flag += "T";
flag += "h";
flag += "3";
flag += "_";
flag += "C";
flag += "h";
flag += "0";
flag += "s";
flag += "e";
flag += "N";
flag += "_";
flag += "0";
flag += "n";
flag += "E";
flag += "!";
flag += "}";
if (buy) {
$("#serv5").remove();
$("#craft5").remove();
alert("兑换成功。flag: " + flag)
} else {
alert("你失去了唯一的机会。")
}
}flag一目了然
special number
special number
知识点:PHP弱类型
提示php弱类型并且给出源码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15include_once("flag.php");
if(isset($_GET['key'])){
$pattern = '/^(?=.*[0-9].*)(?=.*[a-zA-Z].*).{7,}$/ ';
$key = $_GET['key'];
if(preg_match($pattern,$key)===0){
echo "格式错误";
}else{
$lock="******************";
$b = json_decode($key);
if($b==$lock)
echo $flag;
else
echo "this is no special number";
}
}json_decode会返回数组,但无法解码会返回null
构造key=0e12345,0=0,得到flag
can u find me?
描述
only robot know where is the flagflag格式为hgame开头
提示robot,想到robots.txt,打开发现
1
2User-agent: *
Disallow: /f1aaaaaaaag.php打开f1aaaaaaaag.php
将user改为admin,go得到flag
tell me what you want
- 描述
想要flag吗? - URL http://123.206.203.108:10001/
- 代开链接,再文本框中输入1,提交,显示需要用POST提交
- POST提交后要改XFF头
- 用指定的“冰狐”浏览器
- 继续按要求改。。。
- cookie改为1
- 得到flag
我们不一样
描述
知识点:PHP弱类型源码
1
2
3
4
5
6
7
8
9
10include_once("flag.php");
if(isset($_POST['str1'])&&isset($_POST['str2'])){
if ($_POST['str1']!=$_POST['str2']&&strcmp($_POST['str1'],$_POST['str2'])==0) {
echo "flag is:".$flag;
exit();
} else{
echo "Something wrong..";
}
}还是php弱类型
$_POST[‘str1’]!=$_POST[‘str2’]且strcmp($_POST[‘str1’],$_POST[‘str2’])==0
strcmp处理数组的话会返回null,null==0,得到flag
Post数据str1[]=1&&str2[]=2
得到flag
Random?
描述
多random几次没准就随机到一样的值呢 PS:网不好vim线上改代码真是致命提示vim
vim备份文件
默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看vim临时文件
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件.submit.swp。如果文件正常退出,则此文件自动删除。发现存在.random.php.swp
打开后得到部分源代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#highlight_file(__FILE__);
}
}
echo $flag;
if ($emmm - >public == $emmm - >secret) {
$emmm - >secret = random_int(0, 100000000);
$emmm - >public = random_int(0, 100000000);
}
die("error");
if (!is_object($emmm)) {
$emmm = unserialize($_GET['emmm']);
if ($_GET['emmm']) {}
var $secret;
var $public; {
class emmm include('flag.php');
error_reporting(0); < ?php用到php反序列化,O:4:”emmm”:2:{s:6:”secret”;s:12:”aaaaaaaaaaaa”;s:6:”public”;s:12:”aaaaaaaaaaaa”;}
xss1
- 源码过滤了script(全局,不分大小写),image(全局,不分大小写)和左圆括号
- 有html实体绕过左圆括号过滤
- payload
- <IMG SRC=”.”onmouseover=alert(1)>
xss2
源码过滤script(全局,不分大小写),image(全局,不分大小写),img(全局,不分大小写),左圆括号和右尖括号
需要闭合左右标签
payload
1
2
312">>
<a onmouseover=alert(1)>xxs link</a>
<input value="23圆括号和尖括号只过滤一次,可以先输入一次圆括号绕过
1
2
312"(>>
<a onmouseover=alert(1)>xxs link</a>
<input value="23
最简单的sql题
- 提示Only admin can get flag!!!!!
- ?username=admin’ or 1=1 %23&pwd=2
sql注入
- sqlmap跑一下就出来了。。。