美文网首页
ctf | bugku 老司机

ctf | bugku 老司机

作者: 你可以叫我风平 | 来源:发表于2019-03-06 21:33 被阅读0次

    今天更新两个很类似的ctf题。都是编写Python脚本然后post提交信息得到flag。直接上图如下:

    这一题就直接编写Python脚本上传计算结果就好了。Python代码如下:

    import requests

    import re

    s =requests.Session()

    r =s.get("

    http://123.206.87.240:8002/qiumingshan/")

    searchObj = re.search(r'^(.+)=\?;$',r.text,re.M|re.S)#re.M|re.S匹配多行或匹配一行

    data = {

    "value":eval(searchObj.group(1))#这里是value是从网页提示中得到的

    }

    flag = s.post("http://123.206.87.240:8002/qiumingshan/",data=data)

    print(flag.text)


    第二题上图:

    没有提示先看源码,得到提示也是要上传一个margin。我们尝试抓包得到下图

    根据flag后面的等号大致判断是个base64加密,解一下马提交发现不对,根据提示我们再抓一次包发现

    flag又变了,根据提示快速,我们继续编写Python脚本快速提交得到的flag。Python脚本如下:

    s =requests.Session()

    headers =s.get("http://123.206.87.240:8002/web6/").headers

    str1 = base64.b64decode(headers['flag'])

    str2 = base64.b64decode(repr(str1).split(':')[1])

    data= {'margin':str2}

    flag = s.post("http://123.206.87.240:8002/web6/",data=data)

    print(flag.text)

    得到flag提交就好了。Python脚本看不懂的可以点下面这个链接。

    requests库

    这次就到这里了,很多细节还需要好好琢磨。

    相关文章

      网友评论

          本文标题:ctf | bugku 老司机

          本文链接:https://www.haomeiwen.com/subject/hzqfpqtx.html