首页 > 其他分享 >YLCTF-Web-404 And NewStarctf2024-Web-你能在一秒内打出八句英文吗

YLCTF-Web-404 And NewStarctf2024-Web-你能在一秒内打出八句英文吗

时间:2024-11-02 21:47:14浏览次数:6  
标签:Web NewStarctf2024 YLCTF expr replace text print response math

YLCTF-Web-404

打开网页

啥也没有

在扫描网站和源码的js文件中找到了线索404.php

跟进查看发现确实是404,但是和正常的404页面好像不太一样

bp抓包得到下一关线索ca.php

跟进查看,一道经典的代码题目

exp

import requests
from bs4 import BeautifulSoup
import math

# 创建一个会话
session = requests.Session()

# 获取网页内容
url = "http://challenge.yuanloo.com:23273/ca.php"
response = session.get(url)

# 检查响应状态
if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    pre_content = soup.find('pre').text  # 获取 <pre> 标签中的文本
    print("获取到的算式:")
    print(pre_content)

    # 将获取的算式分割成行
    expressions = pre_content.strip().split('\n')

    # 存储结果的字典
    results = {}

    # 计算每个算式
    for expr in expressions:
        expr = expr.replace('$', '').strip()  # 移除 $ 符号

        if '=' in expr:
            var_name = expr.split('=')[0].strip()  # 获取变量名
            # print(var_name)
            expr = expr.split('=')[1].strip()  # 只保留等号右侧的表达式
            # print(expr)

            # 替换为 math 库的函数
            expr = expr.replace('log', 'math.log') \
                .replace('sqrt', 'math.sqrt') \
                .replace('sin', 'math.sin') \
                .replace('cos', 'math.cos') \
                .replace('tan', 'math.tan') \
                .replace('pow', 'math.pow') \
                .replace('exp', 'math.exp') \
                .replace(';', '')  # 去掉分号

            # 计算表达式
            try:
                result = eval(expr, {"math": math, **results})
                results[var_name] = result  # 存储计算结果
                print(f"{var_name} = {result:.2f}")  # 保留两位小数
            except Exception as e:
                print(f"计算失败: {var_name} = {expr},错误信息: {e}")
        else:
            # 计算没有赋值的表达式
            expr = expr.replace(';', '')  # 去掉分号
            try:
                result = eval(expr, {"math": math, **results})
                print(f"{expr} = {result:.2f}")  # 保留两位小数
            except Exception as e:
                print(f"计算失败: {expr},错误信息: {e}")

    # 提交答案
    answer = results.get('answer', None)  # 替换为你最后计算的答案
    print(results)
    if answer is not None:
        submit_url = "http://challenge.yuanloo.com:23273/ca.php"  # 替换为表单的提交URL
        payload = {'user_answer': f"{answer:.2f}"}  # 保留两位小数

        # 发送POST请求
        submit_response = session.post(submit_url, data=payload)

        if submit_response.status_code == 200:
            print("答案提交成功!")
            # 打印返回的内容
            print("返回的内容:")
            print(submit_response.text)  # 打印返回的HTML或文本内容
        else:
            print(f"答案提交失败,状态码: {submit_response.status_code}")
else:
    print(f"请求失败,状态码: {response.status_code}")

然后得到flag,这是一道非常正常的web代码题目

NewStarctf2024-Web-你能在一秒内打出八句英文吗

打开题目

这出的类型都是一样的

import requests
from bs4 import BeautifulSoup

session = requests.Session()

url = "http://eci-2ze420okq7lr1o54c63d.cloudeci1.ichunqiu.com/start"
response = session.get(url)

if response.status_code == 200:
    soup = BeautifulSoup(response.text, 'html.parser')
    text_element = soup.find('p', id='text')
    if text_element:
        value = text_element.get_text()
        print(f"{value}")
        submit_url = "http://eci-2ze420okq7lr1o54c63d.cloudeci1.ichunqiu.com/submit"
        payload = {'user_input': value}
        post_response = session.post(submit_url, data=payload)
        print(post_response.text)
else:
    print(f"{response.status_code}")

总结:

遇到这种类型的题目

1.先获取到网页上的目标内容

2.对获取到的内容进行数据处理

3.寻找提交表单的位置

标签:Web,NewStarctf2024,YLCTF,expr,replace,text,print,response,math
From: https://blog.csdn.net/Xin031007/article/details/143450490

相关文章

  • YLCTF-Re-ezmaze
    die查看信息PE64打开ida64很明显迷宫和移动键都出来了,那就很简单了这里找到终点F,那起点就是+但是在哪里呢字符串有110个从这里可以猜测是10*11的迷宫,构造迷宫试一下yoyoud#初始化迷宫frommathimportsqrtmaze=[]string='*****++*********+******+*++**......
  • CTF学习(17)MISC(后门查杀/webshell后门)
    后门查杀1.解压获得html文件夹(入门用的工具题吗)--->使用D盾以文本文件格式打开include.php文件后发现pass处有段md5数据(实为flag)(还是不太明白md5加密的特征,只是长度一样吗)FLAG:flag{6ac45fb83b3bc355c024f5034b947dd3}webshell后门1.根据题目提示得知密码即为flag--......
  • EIE4432 Web Systems and Technologies
    EIE4432WebSystemsandTechnologiesGroupProject:FunctionalSpecificationProjectMilestone1:UIPrototypeDateofSubmission:2-Nov-2024SAT(Week10)(SubmittedbyONEgrouprepresentative)ProjectMilestone2:FinalProductDateofSubmission:28-N......
  • Python数据分析NumPy和pandas(十八、从Web APIs 和 数据库中获取数据)
    一、与WebAPIs进行数据交互很多Web网站都提供公共的API,并通过JSON或其他格式提供数据。那Python也有很多种方法可以访问网站提供的API,其中一种常用的方法是通过使用requests库,使用之前需要先安装它,这里通过pip安装:pipinstall requests下面我通过GitHub网站提供的API......
  • PythonWeb项目开发(Django)数据增删改查的常用方法汇总以及Q,F对象的使用(模型与mysql数
    知识点增:模型类的管理器方法:create(),模型对象的方法save()查:模型类的管理器方法:all(),filter(),exclude(),get()    扩展常见的运算符(用于用户查询,删除,更新的条件):gt,gte,it,ite,in,range,exact,contains,icontains,startswith,isstartswith,endswith,iendswith......
  • three.js+vue智慧社区web3d数字孪生三维地图
    案例效果截图如下:具体案例场景和功能,详见b站视频:https://www.bilibili.com/video/BV1Bb421E7WL/?vd_source=7d4ec9c9275b9c7d16afe9b4625f636c 案例场景逻辑代码:<template><divid="whole"><!--threejs容器--><divid="three"ref="co......
  • 91.北极熊动物主题网页 Web前端网页制作 大学生期末大作业 html+css
     一、更多推荐欢迎来到我的CSDN主页!您的支持是我创作的动力!Web前端网页制作、网页完整代码、大学生期末大作业模板案例、技术交流等,有兴趣的联系我交流学习!更多优质博客文章、网页模板点击以下链接查阅:仙女网页设计-CSDN博客关注作者,点赞收藏博文,获取更多源码,3Q!二、网......
  • javaweb基于JSP+Servlet开发简单的家居购物商城系统源码 大作业 课程设计
    ......
  • 渗透测试--Fuzzing Web应用
    总体思路        当我们发现一个Web应用的时候,我们可以从Web的各个层面发起信息搜集。比如Web目录,了解Web页面的后端语言,揭露后端文件的参数,揭露后端文件参数的可选值,爆破子域名、获取私有域名等。这些信息将帮助我们进一步渗透,有时候会起到关键作用。其实其核心点就......
  • 猿人学web端爬虫攻防大赛赛题第19题——乌拉乌拉乌拉
    题目网址:https://match.yuanrenxue.cn/match/19解题步骤看触发的数据包。有这么好的事情,没有加密的参数,url非常简单,直接写代码访问。importrequestsurl="https://match.yuanrenxue.cn/api/match/19?page=1"headers={'Host':'match.yuanrenxue.cn','Connectio......