ahuCTFwp

作者: Ro0t | 来源:发表于2018-06-10 22:17 被阅读0次

    我们学校的CTF平台终于搭起来了,膜一波包子大佬~~

    目前题目还不是很多,大部分是web,写个write up,希望对大家有所帮助

    1.XSS-50

    这题是XSS,可以通过各种花式操作得到flag,不过....有个最简单的方法: 右键查看元素,点击网络,查看cookie,emmmmmm出来了...这题就是这么神奇

    2. XSS-100

    其实吧,这题和上面一题差不多,查看cookie,出来了,不过这不是常规解法,可以看下源代码,然后根据那段php构造payload就行了

    3. SQLi-50

    这一题不会写,难受,先放这

    更新:这一题,历经磨难,终于做出来了,请恕我有空再写,可以参考博客:http://blog.sina.com.cn/s/blog_5c92dd1f0102vjfg.html

    4.SQLi-100

    这一题用万能密码就行

    username= 1’=’0

    password= 1’=’0

    或者

    username:admin’=’

    password:admin’=’

    其实这题和实验吧有一题是一样的,p神写的很详细了,copy过来(侵删)

    假设sql语句如下

    select * from user where username='用户名' and password='密码'

    当提交username=pcat'='&password=pcat'='

    语句会变成如下:

    select * from user where username='pcat'='' and password='pcat'=''

    这时候还不够清晰,我提取前一段判断出来(后面的同样道理)

    username='pcat'=''

    这是有2个等号,然后计算顺序从左到右,

    先计算username='pcat' 一般数据库里不可能有我这个小名(若有,你就换一个字符串),所以这里返回值为0(相当于false)

    然后0='' 这个结果呢?看到这里估计你也懂了,就是返回1(相当于true)

    所以这样的注入相当于

    select * from user where 1 and 1

    也等于 select * from user

    (这题只有筛选出来的结果有3个以上才会显示flag,没有就一直说“对不起,没有此用户!!”)

    好了,继续唠叨几句,上面那个比较是弱类型的比较,

    以下情况都会为true

    1='1'

    1='1.0'

    1='1后接字母(再后面有数字也可以)'

    0='除了非0数字开头的字符串'

    (总体上只要前面达成0的话,要使语句为true很简单,所以这题的万能密码只要按照我上面的法子去写一大把)

    5.WEB-150

    这一题嘛,上来先常规操作,看看源代码,发现没什么luan用,那就继续常规操作,看看消息头啥的,这时候发现有点不太对

    有个Don!t-Decrypt,这个可不是常规消息头里面会出现的,而且后面那段明显是base64,那拿去揭秘喽,结果是20170521,然后拿去提交,显示错误。什么鬼!?再回头看看,这个Don!t-Decrypt的意思好像是不要解密,那就直接提交试试,返回一段有趣的东西

    URL?就是个网址呗,那把_改成.进去看看

    进去就显示flag,舒服

    6.WEB-200

    这题看起来也很眼熟,和实验吧有道题很像啊,我这么菜,当然是借(chao)鉴(xi)下dalao们的wp发到这来啦

    点开链接之后,任意输入什么,都会弹框出来

    你邮箱收到的重置密码链接为 ./step2.php?email=youmail@mail.com&check=???????

    于是我们访问以下看一看http://old-ctf.ahusec.cn/web/findpass/step2.php?email=youmail@mail.com&check=???????

    出现了step2的界面,但是马上又回到了原来的界面。可以抓包来看一下

    email:

    token:

    在包中发现了submit.php,查看一下看看

    但是不能访问,不是admin

    但是我们可以知道这是vim,会有临时文件,应该没有禁用

    一、vim备份文件

    默认情况下使用Vim编程,在修改文件后系统会自动生成一个带~的备份文件,某些情况下可以对其下载进行查看;

        eg:index.php普遍意义上的首页,输入域名不一定会显示。   它的备份文件则为index.php~

    二、vim临时文件

    vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果原文件名是submit,则它的临时文件

     .submit.swp。如果文件正常退出,则此文件自动删除。

    所以我们查看临时文件

    访问http://old-ctf.ahusec.cn/web/findpass/.submit.php.swp

    里面有很多乱码,但还是有两段可读的代码

    CREATE TABLE IF NOT EXISTS `user` (

      `id` int(11) NOT NULL AUTO_INCREMENT,

      `username` varchar(255) NOT NULL,

      `email` varchar(255) NOT NULL,

      `token` int(255) NOT NULL DEFAULT '0',

      PRIMARY KEY (`id`)

    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

    if(!empty($token)&&!empty($emailAddress)){

    if(strlen($token)!=10) die('fail');

    if($token!='0') die('fail');

    $sql = "SELECT count(*) as num from `user` where token='$token' AND email='$emailAddress'";

    $r = mysql_query($sql) or die('db error');

    $r = mysql_fetch_assoc($r);

    $r = $r['num'];

    if($r>0){

    echo $flag;

    }else{

    echo "澶辫触浜嗗憖";

    }

    }

    从代码里可以知道,

    token初始化为0,但if语句中要让他长度为10,可以置为0000000000

    在网页的源代码里面我们可以从刚才的源代码中知道admin的邮箱

    所以

    http://old-ctf.ahusec.cn/web/findpass/submit.php?emailAddress=admin@ahusec.com&token=0000000000

    7.'!'操作

    这道题是密码学,下载下来是张二维码不过扫不出来,根据题目'!'的提示,反色之后就能扫了,扫出的结果是rot13啥啥的,那就是rot13加密呗,拿去解密一下,get,恕我懒得截图了

    8.RSA

    不会RSA加密,没学过现代密码学,听大佬说这题就是纯套公式,去自学一下公式,然后编程解决就行了,不过我这么懒,自学密码学是不可能的,这辈子不可能去自学密码学的,Web又不会做,只能靠sqlmap扫扫人家数据库,才能混混比赛这样子

    9.复杂计算

    这题就是编程题,先找规律,25以后的后五位都是0,那就算1到24的阶乘之后咯,写段代码算就行了,不会写的百度上一大堆。这题告诉我们,CTF里面也可能出现纯编程题,包子学长说的好,学习信息安全,编程的基础能力也很重要。虽然我个人认为,不以攻防为目的的敲代码都是耍流氓,一点都不酷。哈哈哈,个人拙见。

    10.隐写-header

    这题杂项是考隐写术,下载下来是个压缩包,解压出个misc格式的文件,misc这种格式肯定是不存在的,那它到底是什么文件呢,根据题目的提示,header,那就先转换成txt看看头是啥,然后就发现

    看到个NG,那不就是PNG格式呗,作为图片打开,get flag!

    11.隐写 - 种~

    下载压缩包,解压解压再解压,最后是个jpg文件,拿stegsolve查看也没啥问题,改成txt也没看出隐藏了什么东西,然后就注意到了这个文件的名字,exif,我们去百度一下

    信息???懒得去下专门的软件去查看了,看看文件属性里面的详细信息那一栏

    优秀!

    12.抓黑客

    这一题很多人把它想复杂了,其实就是把黑客的ip填进去就行

    先用wireshark打开数据包

    第一次碰见这么短的数据包,舒服得一批

    发现黑客就是进行了一个ping操作,过滤一下

    发起ping的不就是黑客嘛,提交下ip地址,搞定

    这一题还是很简单的,不过对数据包进行分析最好去系统学一下wireshark的使用,还是很有用的

    题目不多,还是有两题不会写,RSA那题就算了,还有题sql注入的不会写,巨TM难受,再研究一下,写出来再更新。

    第一次写WP,有不对的地方请大家指正,谢谢~

    相关文章

      网友评论

          本文标题:ahuCTFwp

          本文链接:https://www.haomeiwen.com/subject/vcyqeftx.html