西普实验室吧到底是不是number

天下武功唯快不破
/web/10.php
看题目,是要post一个值过去,看源码可以知道键为key,在Header中可以发现一个字段,FLAG
注释的重要性:&!-- please post what you find with parameter:key --&
post key=FLAG的值发现提示,必须更快,那么就只有写脚本来完成了
(注意的是,返回的FLAG解base64之后是xxx:xxx),冒号后面的才是要提交的值,所以这里要分割一下
运行得到flag&
import base64 import urllib2 import urllib
url = '/web/10.php'
req = urllib2.Request(url)
rsp = urllib2.urlopen(req)
flag = ().getheader('FLAG')
flag = base64.b64decode(flag)
flag = flag.split(':')[1]
print flag
data = urllib.urlencode({'key':flag})
req1 = urllib2.Request(url, data=data)
rsp = urllib2.urlopen(req1).read()
注:查看源码;Base64编码
安女神之名
1. 和GFW没有关系,它就是过滤了&安女神&三个字
2.安女神用什么编码好?备注以GET方式送出,URL编码没有什么用处,到了服务器端会被解码,所以用&#XXX;这种格式的HTML编码。对照表如下:
其实就是Unicode编码加上了前缀&#。
Unicode编码在线工具:
所以安女神的编码后得到安女神
好吧,如果你用16进制安女神
输入后得到:flag = [[415 Unavailable For Legal Reasons]]
好吧,比较无聊,查看源码发现flag.
注:查看源码,HTML实体编码,Unicode编码
思路很重要
页面就是/web/9/index.php
我很喜欢。。可是,他不让查源码。。好,我就用python发包。或者,Firebug查看一下也可以。。(要选择显示注释,不然看不到,所以还是自己写程序比较好,这样信息得到的全,不容易忘)
import urllib2
import urllib
url = '/web/9/'
req = urllib2.Request(url)
response = urllib2.urlopen(req)
print response.read()
我粗心的没注意到源码那句&&!-- 粗心的程序员,写完代码也不删。--&&
所以就不会去查index.php~\index.php.bak这类临时文件。。
所以就不会发现该文件里的:
$flag='xxx';
extract($_GET);
if(isset($shiyan)){
$content=trim(file_get_contents($flag));
if($shiyan==$content){
echo'ctf{xxx}';
echo'Oh.no';}
然后就不会发现,这就是是一个GET提交,然后绕过验证的问题。
就不会使用 flag=乱七八糟的东西&shiyan=的参数添加来解决问题。关于变量覆盖,以后还要多学习,这个算基本无阻碍的。。
/web/9/index.php?flag=&shiyan=
得到的结果也不是ctf{xxxxxxx}格式,所以,是加了密的,别怕,最简单的移位。
注:源码挖掘,临时文件
确实很简单,首先,网页太简单了,所以不是源码里藏了东西,就是发送的时候包里有东西。我们截取包,发现里面有个
showsource,必须改为1,然后题就结了。
我觉得这道题挺不错,访问地址是:/10/indirection/index.php
就是分7个步骤判断URL是否满足条件,URL重写的判断
我觉得源码很有趣,有教育意义,放出来:
3 // code by SEC@USTC
'&html&&head&&meta http-equiv="charset" content="gbk"&&/head&&body&';
7 $URL = $_SERVER['REQUEST_URI'];
8 //echo 'URL: '.$URL.'&br/&';
9 $flag = "CTF{???}";
11 $code = ($flag, 'CTF{???}', file_get_contents('./index.php'));
12 $stop = 0;
14 //这道题目本身也有教学的目的
15 //第一,我们可以构造 /indirection/a/../ /indirection/./ 等等这一类的
16 //所以,第一个要求就是不得出现 ./
17 ($flag && ($URL, './') !== FALSE){
$flag = "";
$stop = 1;
22 //第二,我们可以构造 \ 来代替被过滤的 /
23 //所以,第二个要求就是不得出现 ../
24 ($flag && ($URL, '\\') !== FALSE){
$flag = "";
$stop = 2;
29 //第三,有的系统大小写通用,例如 indirectioN/
30 //你也可以用?和#等等的字符绕过,这需要统一解决
31 //所以,第三个要求对可以用的字符做了限制,a-z / 和 .
32 $matches = ();
33 ('/^([a-z\/.]+)$/', $URL, $matches);
34 ($flag && empty($matches) || $matches[1] != $URL){
$flag = "";
$stop = 3;
39 //第四,多个 / 也是可以的
40 //所以,第四个要求是不得出现 //
41 ($flag && ($URL, '//') !== FALSE){
$flag = "";
$stop = 4;
46 //第五,显然加上index.php或者减去index.php都是可以的
47 //所以我们下一个要求就是必须包含/index.php,并且以此结尾
48 ($flag && ($URL, -10) !== '/index.php'){
$flag = "";
$stop = 5;
//Not Pass
53 //第六,我们知道在index.php后面加.也是可以的
54 //所以我们禁止p后面出现.这个符号
55 ($flag && ($URL, 'p.') !== FALSE){
$flag = "";
$stop = 6;
//Not Pass
60 //第七,现在是最关键的时刻
61 //你的$URL必须与/indirection/index.php有所不同
62 ($flag && $URL == '/indirection/index.php'){
$flag = "";
$stop = 7;
//Not Pass
66 (!$stop) $stop = 8;
'Flag: '.$
70 ($i = 1; $i & $ $i++)
$code = ('//Pass '.$i, '//Pass', $code);
72 (; $i & 8; $i++)
$code = ('//Pass '.$i, '//Not Pass', $code);
($code, TRUE);
'&/body&&/html&'
/10/indirection/index.php
好吧,不能用 ./ // ../而且还不能在index.php后面加.而且结尾必须是index.php而且不能用正常的访问路径。。有同学发现,其实index.php后面加&/乱七八糟,没有也成/index.php&就可以啦。原因是服务器解析到.php后就把后面的东西当作参数处理了(最新测试这个方法失效了,按理来说这是不应该的。。)
天网管理系统
告诉了用户名和密码是admin,然没个鸟用。。
查源码先:
&!-- $test=$_GET['username']; $test=md5($test); if($test=='0') &&
然后就是md5怎么得到0的问题。。0e+数字
看大神题解,sa、、QNKCDZO、aabg7XSs、aabC9RqS就可以,怎么得到的呢,下次再说吧。。
然后得到提示,查看提示的网页,得到:
$unserialize_str = $_POST['password'];
$data_unserialize = unserialize($unserialize_str);
if($data_unserialize['user'] == '???' && $data_unserialize['pass']=='???')
print_r($flag);
伟大的科学家php方言道:成也布尔,败也布尔。
回去吧骚年
view-source::8888/web1//user.php?fame=hjkleffifer
查了下那个函数,有个大概的认识:
先试了一下:{s:4:"user";s:5:"admin";s:4:"pass";s:5:"admin";}不理我,,,,
再试:{s:4:"user";b:1;s:4:"pass";b:1;}还是不鸟我。。。
前面标识一下参数个数:a:2:{s:4:"user";b:1;s:4:"pass";b:1;},成了。
&关于==这个,看下这篇文章:
忘记密码了
这道题确实有难度,转的比较多,第一个,查源码,发现如下:
然后随便填一个mail去里面,比如然后就弹框:
我们访问这个链接,发现它弹回了step1.php,所以我们就,,,,,,wireshark截取包看了一下(要过滤额),发现了302重定向,所以我就用python发送包,截取了一下内容,发送的时候,用我们上面那个密码重置链接就可以啦:
也就是,这个过程是访问step2.php时,其实是将它内置的发到submit.php里去了。那么我们再访问submit.php,显示的是"you are not an admin"。
接下来,就是vim的事情了。。Vim会产生临时文件。那么我们在浏览器里访问.submit.php.swp就可以啦。。。
token就是0,并且还要绕过长度限制(要求长度为10)
拿到flag的url : /10/upload/submit.php?emailAddress=&token=
php审计题,题目都说了,
(isset ($_GET['password'])) {
( ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)
'&p&You password must be alphanumeric&/p&';
(($_GET['password']) & 8 && $_GET['password'] & 9999999)
( ($_GET['password'], '*-*') !== FALSE)
('Flag: ' . $flag);
('&p&*-* have not been found&/p&');
'&p&Invalid password&/p&';
ereg判断是不是字母数字类型
判断是不是长度&8且&9999999
判断是不是有&*-*&
构造输入password=1e9%00*-*
要直接在地址栏输入,不要在输入框中。。不然会变成1e9%2500*-*
除此之外,还有个解法:改成password[]=乱七八糟 也就是一个array类型和string比较,会返回NULL
这道题和上面那道挺像,审计代码
if (isset($_GET['a'])) {
if (strcmp($_GET['a'], $flag) == 0)
die('Flag: '.$flag);
print '离成功更近一步了';
其实是password。。不是a&.
输入a[]=1就绕过了,我觉得这篇文挺好:
Guess Next Session
这道题目就是猜密码?
给出的源码:
(isset ($_GET['password'])) {
($_GET['password'] == $_SESSION['password'])
('Flag: '.$flag);
'&p&Wrong guess.&/p&';
((() ^ (1, 10000)) % (1, 10000) + (1, 10000));
session题,只要我一开始不设置session,然后password置为空就好,咋治,截个包,改下session值。。
或者清除浏览记录,然后:/web/Session.php?password= 就OK
这道题其实我觉得有点怪,学艺不精吧,但是似乎,用burp直接repeater下就好,把PHPSESSID=空然后password=空就好了。
阅读(...) 评论()原创(105)
题目连接:
由题意知,我们要得到的的是DUTCTF{XX},XX部分
题目给出的图片是八段数码管,并且颜色有红蓝之分,提示我们应该联想到共阳极、共阴极。
于是百度寻找字母的相应编码(题目给出的字母是HELLO)
百度答案截图如下
考虑共阳极、共阴极区别及字母,得到答案
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:31671次
积分:1439
积分:1439
排名:千里之外
原创:116篇
(11)(52)(55)(4)信息学院荣获“西普杯”京津冀信息安全技术挑战赛总决赛亚军
信息学院荣获“西普杯”京津冀信息安全技术挑战赛总决赛亚军
&&& 近日,由信息学院教师张光华、张红斌指导,网络工程专业2012级学生王晓喆、李扬、黄岩组成的&牧星湖队&,以河北赛区第1名的成绩晋级2016&西普杯&京津冀信息安全技术挑战赛总决赛,并最终勇夺亚军,成为河北省唯一在总决赛中获奖的代表队。
&&& 本次比赛由北京市政府主办、北京西普阳光教育科技股份有限公司承办,得到了京津冀三地高校及在校大学生的广泛关注和热烈响应,吸引了来自北京理工大学、北京航空航天大学、北京邮电大学、哈尔滨工业大学、南京邮电大学、中国民航大学知名高校学生以及信息安全爱好者参赛,赛事规模和水平已接近国内信息安全竞赛顶尖水平。共有超过400支队伍,逾1400人次报名参加,线上线下历时两个月,通过4站4场选拔赛,最终12支代表最高水平的队伍进入总决赛。
版权所有(C)河北科技大学#CTF-Reverse# 逆向的小伙伴们可以爽一下了,两道新题,虽然头牌已被抢,但也一起来练练手吧[doge]表告诉我你不行[哈哈]练手地址:http://t.cn/R2mwFsM
同时转发到微博}

我要回帖

更多关于 到底是不是number呢 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信