zoukankan      html  css  js  c++  java
  • water


    webchacking.kr 第5题

    打开题目发现了两个按钮,分别是Login和join

    打开Login发现url是http://webhacking.kr/challenge/web/web-05/mem/login.php的 我们把login.php删掉发现了一个index of的目录,里面有一个join的php文件

    打开发现黑的没有边际,右键源代码发现了猫腻,这里我把js代码翻译了下,后来发现其实直接f12编译下就ok了 2333333

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    documnent.cookie
    if(eval(document.cookie)==-1)
    {
    bye;
    }
    else(eval(document.URL).indexOf(mode=1))==-1
    {
    alert('access_denied');history.go(-1);
    }
    else{
    document.write('<font size=2 color=white>Join</font><p>');
    document.write('.<p>.<p>.<p>.<p>.<p>');
    document.write('<form method=post action='NaNoin.php>');
    document.write('<table border=1><tr><td><font color=gray>id</font></td><td><input type=text name='id' maxlength=5></td></tr>');
    document.write('<tr><td><font color=gray>pass</font></td><td><input type=text name='NaNw' maxlength=10></td></tr>');
    document.write('<tr align=center><td colspan=2><input type=submit></td></tr></form></table>');
    }

    把第三个else中代码进行执行就得到一个登陆框

    做到这里心里有点小激动,然后噫~~~~ 好像限制了字符长度,没想到真是

    用burp进行抓包,加点空格突破他的5的长度限制

    发现注册成功

    返回开头的Login按钮那,登录 过关

    webchacking.kr 第24题

    打开题目发现是一个关于ip的题,照常右键查看源代码发现index.phps

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?

    extract($_SERVER);
    extract($_COOKIE);

    if(!$REMOTE_ADDR) $REMOTE_ADDR=$_SERVER[REMOTE_ADDR];

    $ip=$REMOTE_ADDR;
    $agent=$HTTP_USER_AGENT;


    if($_COOKIE[REMOTE_ADDR])
    {
    $ip=str_re 大专栏  waterplace("12","",$ip);
    $ip=str_replace("7.","",$ip);
    $ip=str_replace("0.","",$ip);
    }

    echo("<table border=1><tr><td>client ip</td><td>$ip</td></tr><tr><td>agent</td><td>$agent</td></tr></table>");

    if($ip=="127.0.0.1")
    {
    @solve();
    }

    else
    {
    echo("<p><hr><center>Wrong IP!</center><hr>");
    }
    ?>

    看着有点长,其实很简单就是让ip等于127.0.0.1就可以了

    直接。。。。 坑 试了很多127.0.0.1发现不行,原来有过滤233333

    一条js代码搞定

    1
    document.cookie ="REMOTE_ADDR = 112277..00..00..1;";

    webchacking.kr 第27题

    打开题目右键发现index.phps

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?
    if($_GET[no])
    {

    if(eregi("#|union|from|challenge|select|(|t|/|limit|=|0x",$_GET[no])) exit("no hack");

    $q=@mysql_fetch_array(mysql_query("select id from challenge27_table where id='guest' and no=($_GET[no])")) or die("query error");

    if($q[id]=="guest") echo("guest");
    if($q[id]=="admin") @solve();

    }

    ?>

    从源码可以看出我们需要让id=admin才能过关,但是id这个没找到,但是有一个q变量,所以我们想办法把id给他变成admin就可以了

    分析源码得到它过滤了一些常用的字段,比如说“ = ” 这个常用的东东 这里可以使用like进行替代

    1
    $q=@mysql_fetch_array(mysql_query("select id from challenge27_table where id='guest' and no=($_GET[no])")) or die("query error")id='guest' and no=($_GET[no])")) or die("query error");

    这里我们必须select id from challenge27_table where id=’guest’ and no= 返回错误,否则就无法获得admin这个字段了,因为他id已经等于guest

    尝试payload

    -1) or no like 0 – 这个–后边有一个空格

    它返回了查询错误,接着试

    -1) or no like 1 –

    发现返回了guest,说明构造的sql语句执行了,guest的id=1 那么admin的id可能为2嘛

    继续试

    -1) or no like 2 –

    成功了(这个是我做过一遍,所以会是这样的)

  • 相关阅读:
    iis 部署网站常见问题
    提高你开发效率的十五个Visual Studio 2010使用技巧
    SQL SERVER 错误代码 0x534
    SQL Server2005修改计算机名后不能发布订阅
    Fedora桌面系统Idea中的部分中文无法显示解决
    最近去滴滴面试的一道题:斐波拉契数列非递归实现
    二叉查找树之红黑树
    二叉查找树之AVL树
    二叉查找树
    再看SpringMVC通过一个DispatcherServlet处理Servlet
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12258420.html
Copyright © 2011-2022 走看看