正在阅读:

网络信息安全攻防学习平台注入及上传关过关攻略

31,593

网络信息安全攻防学习平台过关攻略已经连接了几天了,目前只出到脚本关,今天继续连载注入及上传关。。

因为注入及上传关题止较少,所以这里我就两关一起出,一起发出来给大学学习吧。。。。

游戏地址:

http://hackinglab.sinaapp.com/index.php

网络信息安全攻防学习平台注入关

第1题:最简单的SQL注入

过关连接源码中有提示,登陆用户名为admin

既然是注入,那么登陆这里肯定是有注入的,万能密码直接上就行了。

网络信息安全攻防平台

登录成功!我的座右铭(flag)是iamflagsafsfskdf11223

第2题:最简单的SQL注入(熟悉注入环境)

先看源代码中是否有提示,如图:

网络信息安全攻防平台

在url中加入?id=1’再访问,发现是存在注入的,当然你可以使用工具来注入,这里直接手工,秒杀之,输入?id=1 or 1=1即可

网络信息安全攻防平台

网络信息安全攻防学习平台上传关

第1题:请上传一张jpg格式的图片

这一关是通过js来判断上传文件名的后缀是否是jpg,如果不是的话就返回false,终止上传操作。。

但是有一切基于客户端的验证是不安全的,不是吗?直接去掉上传时的验证即可。

网络信息安全攻防平台

不知道怎么去的同学们,看我博客的这一篇文章:

文件上传漏洞演示脚本之js验证

第2题:请上传一张jpg格式的图片

看页面源码可以发现,js限制已经去掉了,这一次使用的是服务端验证,验证了MIME,而且服务端也验证了上传的图片是否能够打开,所以想通过这一关,我们就需要使用图片合成马,先使用.jpg上传,然后抓包改包成.php再发送即可。

网络信息安全攻防平台

第3题:请上传一张jpg格式的图片

这一关同样使用了js验证,但是验证代码经过了改变,和前2关不同,而且不能通过仅更改本地js来实现通关。。

<script>
function check(){
  var filename=document.getElementById("file");
  var str=filename.value.split(".");
  for(var i=0;i<str.length;i++)alert(str[i])//增加了这一条测试用
  var ext=str[1];
  if(ext==='jpg'){
    return true;
  }else{
    alert("请上传一张JPG格式的图片!");
    return false;
  }
  return false;
}
</script>

通过测试我们发现,js通过.分割上传的文件名,取.后面的字符串为扩展名验证,但是如果我们上传多个带.的文件呢?只要保证.后面第一个扩展名为jpg就能通过验证。

既然知道了js的原理,我们就直接上传xxx.jpg.php文件,即可通关。。。

ok,注入及上传到此为止,我会继续连载其它关的,请关注。

目前有:16条访客评论,博主回复11

  1. netpopok
    2015-02-09 09:54

    大神,注入关第三关,能给个提示吗。工具注入不了,我试了下所知的一些绕过的手工方法,也没起作用。

    • 独自等待
      2015-02-09 10:44

      不好意思,第3关我也没有过哦,年底有点忙,好久没有研究这个了。

    • excelle08
      2015-02-22 09:36

      @netpopok:它说有防注入就说明要绕过特定的字符过滤。sqlmap里面有可以用的tamper

      • netpopok
        2015-02-26 09:14

        @excelle08:谢谢,第四题limit的思路呢?另外手工注入呢?

        • 独自等待
          2015-03-12 17:30

          limit的那关,我博客有转了一个文章,对着那个就ok了。

      • netpopok
        2015-02-26 10:25

        @excelle08:大神,我试了下,我是在xp下的sqlmap,用tamper下的几种脚本都试了,不行

    • 大猪头
      2015-03-15 10:34

      @netpopok:第三关是款字符注入

  2. excelle08
    2015-02-21 23:15

    大神,注入第五题感觉很可能使用了intval函数进行强制转换,这样id参数就直接废了,请问该如何解决?求思路。。

  3. excelle08
    2015-02-21 23:18

    btw,我网站最后多写了个e。。。

  4. sql
    2015-03-12 14:03

    大牛:第3关有答案了吗

  5. sammy
    2015-04-02 09:42

    你好,注入第四题limit,爆出lastloginip字段,不能爆出值,请问大牛做出来了吗?

    • 独自等待
      2015-04-06 17:05

      做出来了,本来有几关没有做完,想有空了再继续研究一下,然后发教程的,改天有空我把这些题目给分享。

  6. sunny
    2015-08-20 22:28

    第三题有答案了吗?

    • 独自等待
      2015-08-21 14:10

      注入关我应该都做完了,你在我博客搜索吧。

  7. 。。。。。

    注入第三没有找到你解答,,,,,可以再发一次不?

  8. daliangzao
    2016-03-23 13:31

    上传的第三关,都是本地的JS验证,为什么不能”return check()这些验证代码去掉呢

    • 独自等待
      2016-03-25 17:13

      如果是单纯的本地js验证是可以的,除非是服务端也验证了一次。

  9. 哈哈哈
    2016-05-26 15:49

    第三题使用xxx.jpg.php的格式提交就可以了

  10. 游客
    2016-06-10 17:21

    然而我找遍你的博客都没有发现你发了注入关的第三关, 你在3月12号里面说没做,在10月22号说做了,我找了你这段时间发的博客,只有四篇关于网络信息安全攻防学习平台的文章,但是没有注入第三关

    • 独自等待
      2016-06-12 13:00

      我已经很久没有关注那个了,可能题目有变动了也未可知。

  11. 一个菜鸡
    2017-10-30 10:30

    上传关第三题

    用js的split()函数进行分割返回一个数组,那上传1.jpg,分割过后是第一个值是1、第二个值是jpg。
    那么应该也能通过js呀…跳转到php处理时被调戏了…

    如果写为1.jpg.php就能过
    是不是跳转到php后,直接解析为1.php,忽略掉了.jpg这个后缀。

  12. 蓝天
    2018-06-26 09:31

    楼主,第一题的万能密码是什么呀

留下脚印,证明你来过。

*

*

流汗坏笑撇嘴大兵流泪发呆抠鼻吓到偷笑得意呲牙亲亲疑问调皮可爱白眼难过愤怒惊讶鼓掌