zoukankan      html  css  js  c++  java
  • 2018WEB安全测试秋季预选赛

    1 input

      传送门:http://114.55.36.69:8003/

    进入网站后,查看源代码。发现id=flag, 后面有一段js代码。

     

    使用控制台,console直接执行。

    出flag

    2 MD5

      传送门:http://114.55.36.69:8004/

    打开网址,一段文字:easy MD5 cracking fail.

    查看源码 :easy MD5 cracking <!--$_POST['data1']!=$_POST['data2']-->fail

    使用数组绕过:

      

    3 .传个flag试试

    传送门:http://114.55.36.69:8012/

    POST传参,大于10位。即可获得flag。

    4. 新闻查询

    传送门:http://114.55.36.69:8010/ 

     

    1.因为是前台验证,所以直接在前段禁用js。手工注入。

    2.使用SQLMAP也可以直接跑出来。关键词为注入点。

    注:内容查询,一般使用模糊查询 like%%。

    5 MD5碰撞

      传送门:http://114.55.36.69:8006/

      提示为:MD5 crackingfail

      查看源代码:

    if((string)$_POST['data1']!==(string)$_POST['data2']&&md5($_POST['data1'])===md5($_POST['data2']))

      MD5碰撞:

    从根本上讲,MD5算法是一种摘要算法,它可以从多个字节组成的串中计算出由32个字节构成的“特征串”。对于超过32字节的串来说,

    MD5计算得出的值必然是其一个子集,所以必然存在两个(或更多)不同的串能够得出相同MD5值的情况。这种情况就叫做MD5碰撞。

       OK,也就是找到字符串不同的两个,然后MD5值需要一模一样。使用MD5碰撞生成器。

     然后把两个文件内容使用URL编码。发送即可获得flag。

     这里可以借助 curl命令 。

    6 Game

      

      一款贪吃蛇。抓包抓不到数据。好吧,是js。

      查看js,修改长度。然后保存。

      

      然后开始游戏,返回console,会发现一个 VM104:4,点击进去。

      

    7 新写的小站

      传送门:http://114.55.36.69:8014

    直接upload

    修改type(只能传jpg)上传一张图片,然后在picture内查看到
    发现图片中有一串base64,在bp中查看发现这一串base很长,在请求包的cookie中发现picture值解码发现为php序列化,而且保存的上传文件的文件名

    猜测picture传入执行文件,然后页面显示文件内容的base64。于是显示index.php页面,手动构造序列化,在这里我们先了解一下序列化的组成

     1 例子:a:2:{i:0;s:5:"1.jpg";i:1;s:5:"1.php";}
     2 a的意思就是数组array
     3 2说明数组里面有两对值
     4 分别为1.jpg与1.php
     5 i作为下标
     6 s代表为string类型
     7 5表示长度
     8  9 0=>1.jpg
    10 1=>1.php

    所以我们可以构造为:a:1:{i:0;s:9:”index.php”;},base64后为YToxOntpOjA7czo5OiJpbmRleC5waHAiO30=,bp重放查看回显

    第一种改type为image/jpg后,访问http://114.55.36.69:8014/upload/x.php,然后传入命令find / -name flag*

    第二种是测试发现,flag在../../flag.php下,然后构造a:1:{i:0;s:14:”../../flag.php”;}=>YToxOntpOjA7czoxNDoiLi4vLi4vZmxhZy5waHAiO30=,请求
     

     1 # request
     2 GET /index.php/picture HTTP/1.1
     3 Host: 114.55.36.69:8014
     4 Proxy-Connection: keep-alive
     5 Upgrade-Insecure-Requests: 1
     6 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
     7 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
     8 Referer: http://114.55.36.69:8014/index.php/picture
     9 Accept-Encoding: gzip, deflate
    10 Accept-Language: zh-CN,zh;q=0.9
    11 Cookie: Picture=YToxOntpOjA7czoxNDoiLi4vLi4vZmxhZy5waHAiO30=; PHPSESSID=1vm2g30rlcqosqsj9ici1rdku1; session=eyJsb2dpbiI6dHJ1ZSwidXNlcm5hbWUiOiJYWEgifQ.DreFfA.iwKT84kXV5efjz90397IoKUYiik
    12 # response(part)
    13 <img src="data:image/jpg;base64,PD9waHAKCiRmbGFnID0gImZsYWd7TjRtZV9zUGFjNF9Jc19JbnQzcjNzdDFuZ30iOwplY2hvICJmbGFne1RoaXNfMVNfQV9GNGtlX2YxYUd9IjsK">
    14 # base64解密
    15 <?php
    16 $flag = "flag{N4me_sPac4_Is_Int3r3st1ng}";
    17 echo "flag{This_1S_A_F4ke_f1aG}";

    极梦C

  • 相关阅读:
    shell习题第12题:批量创建用户
    shell习题第11题:输入数字执行命令
    二、python数据类型、字符编码、文件处理
    C语言之控制语言:分支和跳转
    c语言之控制语句:循环
    C语言之运算符、表达式和语句
    Python集合及其运算
    Python文本处理
    Python迭代器与格式化
    Python装饰器
  • 原文地址:https://www.cnblogs.com/pangya/p/9874821.html
Copyright © 2011-2022 走看看