NSSCTF第11页(1)

news2024/11/24 11:39:16

[HUBUCTF 2022 新生赛]Calculate

进到主页

翻译

回答以下数学问题20次;你有3秒钟的时间来解决每个问题;
为了保护服务器,你不能在1秒内回答一个问题
您已回答0个问题;

让我们3秒速算,没那个实力,提示说是写脚本,之前从来没写过,趁这次学习一下

NSSCTF | 在线CTF平台

看了这个大佬的思路,很清晰

脚本

import re
import time

import requests
pattern='<div style="display:inline;color:#\w{6}">(.*?)</div>'
url="http://node5.anna.nssctf.cn:28750/"
sess=requests.session()
res=sess.get(url)
time.sleep(1)
for i in range(30):
    time.sleep(1)
    result=re.findall(pattern,res.text)
    print(result)
    num=''
    for i in range(len(result)-1):
        num+=result[i]
    print(num)
    ans=eval(num)
    res=sess.post(url,data={"ans":ans})
    print(res.text)
    # time.sleep(1)

这段代码使用Python编写,实现了一个循环请求网页并进行简单计算的功能。下面是对代码逐行的解释:

  1. import语句导入了所需的模块:time用于控制时间间隔,requests用于发送HTTP请求,re用于正则表达式匹配。

  2. url变量存储了要请求的网页地址。

  3. ses变量创建了一个会话对象,用于发送HTTP请求。

  4. reg变量使用正则表达式编译了一个匹配模式。该正则表达式用于提取网页响应中的某个标签内的内容。

  5. 进入无限循环,通过不断地发送请求、提取标签内容、进行计算的过程,直到得到符合条件的响应为止。

  6. get变量使用会话对象发送GET请求,并将响应保存到get.text中。

  7. math变量使用之前编译的正则表达式匹配模式,从网页响应中提取出需要的内容。

  8. final变量使用''.join(math)[:-1]的方式将提取到的内容拼接成字符串,并去掉最后一个字符。

  9. result变量使用eval(final)将提取到的内容作为表达式进行求值,并转换为字符串。

  10. time.sleep(1)暂停1秒,以控制请求的时间间隔。

  11. p变量使用会话对象发送POST请求,将计算结果作为数据参数传递。

  12. 检查POST响应中是否包含"NSS"字符串。如果包含,则打印响应内容,并跳出循环。

  13. 再次暂停1秒,以控制请求的时间间隔。

 得到flag

[NCTF 2018]Flask PLUS 

看到了ssti注入

 

随便找了一个payload,发现被过滤了,到这里其实就可以用bp来fuzz测试

过滤的

  • __init__
  • file
  • __dict__
  • __builtins__
  • __import__
  • getattr
  • os

看起来GG了,很多方法被ban了之后,几乎无法访问到我们所需要的方法。

这里我们注意到了__enter__方法,查看其内容,发现也有__globals__方法可用,而且与__init__一模一样。

这里摘抄下一段stack overflow的一段话

  • __init__ (allocation of the class)
  • __enter__ (enter context)
  • __exit__ (leaving context)

因此__enter__仅仅访问类的内容,但这已经可以达到我们所需要的目的了。

构造payload:

{{lipsum.__globals__['o''s']['pop''en']('ls /').read()}}

cat flag

 [NSSRound#13 Basic]flask?jwt?

注册admin发现不行,先随便注册一个

有一个拿flag

发现不行,说不是admin

看到提示说是session伪造

 看到了session,但是没有key

 

在忘记密码的页面找到了flask的key

secretkey: th3f1askisfunny

解密session

猜测admin的user_id应该是1

进行session加密

抓包,改session,得到flag

[FSCTF 2023]源码!启动!

f12发现被禁了

ctrl+u看源码

 

[GWCTF 2019]枯燥的抽奖 

看到主页啥也没有,扫一下看看

在js源代码里看到了check.php

源代码

就是伪随机数生成,----伪随机数就是可预测的随机数

PHP mt_srand()函数 - 经验笔记mt_srand()函数

先用这个python脚本将字符转变为 数字 让工具去随机

str1='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
str2='20S7rgtCU9'
str3 = str1[::-1]
length = len(str2)
res=''
for i in range(len(str2)):
    for j in range(len(str1)):
        if str2[i] == str1[j]:
            res+=str(j)+' '+str(j)+' '+'0'+' '+str(len(str1)-1)+' '
            break
print(res)

 得到的随机数

接下来去获取种子 然后 在 php7.1以上的环境运行 

利用 https://github.com/Al1ex/php_mt_seed这个工具

先make一下,让他可以运行

然后通过php_mt_seed这个脚本,破解seed 

出来了伪随机数

然后运行脚本

<?php

mt_srand(380973312);
$str_long1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$str = '';
$len1 = 20;
for ($i = 0; $i < $len1; $i++) {
    $str .= substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);
}
echo "<p id='p1'>" . $str . "</p>";

?>

 得到flag

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1178451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kotlin基础数据类型和运算符

原文链接 Kotlin Types and Operators Kotlin是新一代的基于JVM的静态多范式编程语言&#xff0c;功能强大&#xff0c;语法简洁&#xff0c;前面已经做过Kotlin的基本的介绍&#xff0c;今天就来深入的学习一下它的数据类型和运算操作符。 数据类型 与大部分语言不同的是&am…

Vue多级路由的实现

对Vue路由的配置不了解的看这篇文章&#xff1a;Vue-router 路由的基本使用-CSDN博客 一、配置children属性 注意&#xff1a;子路径不能带 / { path : "/父路径", component : 父组件, children : [{ path : "子路径", component : 子组件 }] } 二、配…

读源码的七大步骤

前序 在如今信息这么发达的时代&#xff0c;如何让自己成长得最快&#xff0c;莫过于直接去“学习”别人已经写好的产品。但一提到读源码&#xff0c;很多人都会比较畏惧&#xff0c;认为读源码是高手才会做的事情。毕竟动不动几十万行代码的源码&#xff0c;谁看了不害怕呢&a…

软件开发必备神器!一文读懂10款热门看板工具推荐!

看板&#xff08;Kanban&#xff09;是一种流行的框架&#xff0c;用于实施敏捷和DevOps软件开发。它要求实时沟通每个人的能力&#xff0c;并全面透明地展示正在进行的工作。工作项目在看板上以可视化方式表示&#xff0c;使项目经理和所有团队成员可以随时查看每个工作的状态…

云尘靶场 --铁三域控

签到1-eval ls System Assert 铁三域控 域就像是我们一个机房&#xff0c;老师的电脑控制很多很多电脑&#xff0c;这个机房就像一个域&#xff0c;老师是管理员身份&#xff0c;可以控制所有学生的电脑 下文的141就像老师&#xff0c;192.168.60.100就像学生的电脑 123 用…

Linux学习笔记之四(文件IO、目录IO)

Linux 1、文件IO1.1、open and close1.2、read and write1.3、lseek1.4、综合练习 2、目录IO2.1、mkdir2.2、opendir, closedir, readdir2.3、综合练习 1、文件IO 1.1、open and close 使用以下代码查看以下open函数原型&#xff1a; man 2 open如图&#xff0c;open函数有两…

测试开发角色定位

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

python opencv 实现对二值化后的某一像素值做修改和mask叠加

实现对二值化后的某一像素值做修改 使用OpenCV的findNonZero函数找到所有非零&#xff08;也就是像素值为255&#xff09;的像素&#xff0c;然后遍历这些像素并修改他们的值。示例代码&#xff1a; import cv2 import numpy as np # 加载并二值化图像 img cv2.imread(…

实验七 组合器模式的应用

实验目的 1)掌握组合器模式&#xff08;composite&#xff09;的特点 2 分析具体问题&#xff0c;使用组合器模式进行设计。 实验内容和要求 在例3.3的设计中&#xff0c;添加一个空军大队( Wing)类&#xff0c;该类与Squadron、Group类是平行的&#xff0c;因此应该继承了AirU…

【聚沙成塔系列】通信笔记知识汇总一

什么是NCO 载波NCO通过控制频率w控制。每次要累加的数字M就是频率控制字。调节M进而控制载波频率。 什么是带宽 3db带宽 常说的3dB带宽&#xff0c;是指在信号功率谱对称的情况下&#xff0c;功率谱密度比信号频谱中心处的峰值下降3dB的两个频率之间的频率范围 工作带宽 工作…

十年老程序员分享13个最常用的Python深度学习库和介绍,赶紧收藏码住!

文章目录 前言CaffeTheanoTensorFlowLasagneKerasmxnetsklearn-theanonolearnDIGITSBlocksdeepypylearn2Deeplearning4j关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案…

什么是本地存储的有效期?

前言 本地存储是一种在Web开发中常用的客户端存储数据的方式&#xff0c;它可以让网页应用程序在用户的浏览器中存储和检索数据&#xff0c;而无需依赖服务器来保存信息。本地存储的有效期是指数据存储在用户的设备上可以被访问和保留的时间段。在本地存储中&#xff0c;有两种…

7 mysql索引

1、索引的本质 索引&#xff08;Index&#xff09;是帮助MySQL高效获取数据的数据结构。 2、InnoDB支持常见的索引 B树索引、 全文索引、 哈希索引&#xff0c; 其中比较关键的是B树索引 3、HashMap不适合做数据库索引&#xff1f; 1.hash表只能匹配是否相等&#xff0c;不…

高数笔记06:无穷级数

图源&#xff1a;文心一言 时间比较紧张&#xff0c;仅导图~~&#x1f95d;&#x1f95d; 第1版&#xff1a;查资料、画导图~&#x1f9e9;&#x1f9e9; 参考资料&#xff1a;《高等数学 基础篇》武忠祥 &#x1f433;目录 &#x1f433;常数项级数 &#x1f40b;概要 &…

ABAP Json和对象的转换

se24新建类ZCL_JSON保存 点击修改&#xff0c;进入下图界面&#xff0c;点击红框。 复制粘贴下面代码 CLASS zcl_json DEFINITIONPUBLICCREATE PUBLIC .PUBLIC SECTION. *"* public components of class ZCL_JSON *"* do not include other source files here!!!TYP…

效率至少提高2倍!最实用的Linux命令合集

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

上门预约按摩家政小程序开发;

上门预约按摩家政小程序开发&#xff0c;都可以做 上门按摩&#xff0c;服务预约小程序开发 服务预约类小程序开发。 小程序开放订单预约、即时服务、在线评价用户管理、会员充值、平优惠券、、平台自营、抢单、事个人入驻、分销邀请、商户入驻 等等 按摩上门预约、回收上门预约…

CSS默认宽度

所谓的默认宽度&#xff0c;就是不设置width属性时&#xff0c;元素所呈现出来的宽度 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title><style>* {margin: 0;padding: 0;}.box {/…

【数据结构】——顺序表(增删查改)

目录 前言&#xff1a; 顺序表&#xff1a; 1、概念及分类 1.1顺序表分类 静态顺序表 动态顺序表 2、接口实现 2.1功能要求 2.2功能实现 &#x1f4a1;初始化顺序表 &#x1f4a1;销毁顺序表 &#x1f4a1;顺序表尾插入 &#x1f4a1;检查是否扩容 &#x1f4a1;…

科技创意赋能乡村文旅振兴

近日&#xff0c;由北京大学创意产业研究中心联合中国国际科技促进会新基建专委会共同主办的“科技创意赋能乡村振兴研讨会”在京举行&#xff0c;与会专家学者围绕“和美乡村共同富裕智慧文旅”主题进行深入探讨。北京大学创意产业研究中心副主任吕艺、国家文化和旅游公共服务…