• CTF论剑厂Web(1)


    1.web26

     

     这道题很简单,绕过第一个if,进入第二个if即可

    第一个if是判断str是否是数字,让它不为数字即可

    第二个if上面的语句,=的级别高于and,所以只要num为数字而str不为数字即可

    http://123.206.31.85:10026/?num=4&str=abc

    上面是一直简单的情况‘

    2.web1

    打开之后如下:

     

     extract — 从数组中将变量导入到当前的符号表,trim — 去除字符串首尾处的空白字符(或者其他字符)。

    file_get_contents() 函数把整个文件读入一个字符串中。

    将a,b均设置为空即可,由于b影响c,c也为空

    http://123.206.31.85:10001/?a=&b=

     3.web2

     

    手速不够快,使用程序解决

    import re
    import requests
    
    url = 'http://123.206.31.85:10002/'
    r = requests.session()
    text = r.get(url).text
    #print(text)
    
    calc = str(re.findall("(.*?)</p>", text))[2:-2]
    
    ans = eval(calc)
    data = {'result':ans}
    res = r.post(url, data)
    print(res.text)

    程序参考https://www.jianshu.com/p/9e4df5131e5f

    6.web6

     F12

     最下面的使用base64解码之后就可以得到密码test123

    用户名使用admin

    但是并不能成功提交,需要修改IP

    5.web11

    打开之后:

    是robots限制了浏览

    查看 http://123.206.31.85:3030/robots.txt 

     查看shell.php  http://123.206.31.85:3030/shell.php 

    结果:

    PHP之中substr的用法:

    所以只要MD5(xxxx)的前6个字符为184cb4即可

    MD5是一种加密算法,且不存在可逆算法,那怎么办呢?

    暴力!

    # -*- coding: utf-8 -*-  
    import hashlib
    
    def md5(s):
        return hashlib.md5(s.encode("utf-8")).hexdigest()
    
    for i in range(1,9999999):
        if(md5(str(i)).startswith('4e110d')):
            print(i)
            break
    
    #print(md5("121"))

    解出:

    42465

    填入即可显示flag

  • 相关阅读:
    htmlunit 基础01
    @Transactional 事务失效问题
    SQL优化总结
    单点登录实现过程
    常见的mybatis对应关系
    命名规范(Oracle数据库)
    12-5 作为可叠加修改的特质
    12-4 Ordered特质
    10 绘制螺旋示例
    10-6 参数化字段
  • 原文地址:https://www.cnblogs.com/caishunzhe/p/13698212.html
Copyright © 2020-2023  润新知