storage:writeup
time:2018/4/4
0x00 Wechall writeup
目录
-
0x00 Wechall writeup
- Training: Get Sourced
- Training: ASCII
- Encodings: URL
- Training: Stegano I
- Training: WWW-Robots
- Training: Crypto - Caesar I
- PHP 0817
- Prime Factory
- Training: MySQL I
- Stegano Attachment
- Zebra
- Training: Crypto - Transposition I
- hi
- Training: Register Globals
- Tracks
- Training: PHP LFI
- Training: Programming 1
Training: Get Sourced
题干灰字提示审查元素,所以打开审查元素最后一行被注释的就是flag
Training: ASCII
题目给出一个数列,每一个数字都对应一个ascii码的十进制数,所以根据数字找出对应的ascii码即可
Encodings: URL
题干描述的很清楚了,就是decode给出的字符串即可。
urldecode
Training: Stegano I
图片隐写术,图片保存下来,用winhex打开
Training: WWW-Robots
使用robots.txt检测网站爱站网
Training: Crypto - Caesar I
简单凯撒密码
PHP 0817
本地文件包含漏洞(LFI),观察php代码发现which=solution即可触发
Prime Factory
一道编程题
Training: MySQL I
sql注入,账号输入admin'#,关键在于注释掉后面对密码匹配的代码
Stegano Attachment
又是图片隐写,winhex
Zebra
图片上的斑马条纹是条形码,直接识别是识别不了的,用ps修复一下
Training: Crypto - Transposition I
肉眼可以看出加密方式,字符两个一组,同组互换
hi
数列公式
Training: Register Globals
Register Globals漏洞,变量无需初始化,找到关键变量login[0]后,构造?login[0]=admin
Tracks
修改header中cookie
Training: PHP LFI
文件包含漏洞(LFI,File inclusion vulnerability)使用了%00截断的方法,在PHP<5.3.4的版本中才存在%00的方法,例如传入1.jpg%00.html字符串,因为.html被截断,所以只获取到1.jpg
主要利用常见:
1.上传时路径可控,使用00截断
2.文件下载时,00截断绕过白名单检查
3.文件包含时,00截断后面限制(主要是本地包含时)
4.其它与文件操作有关的地方都可能使用00截断。
Training: Programming 1
一道脚本题
import requests
import re
if __name__ == '__main__':
header = {'Cookie':'WC=10387593-38564-7bXpbN4QLfEl3dTK'}
url = 'http://www.wechall.net/challenge/training/programming1/index.php?action=request'
r = requests.get(url, headers=header)
print(r.text)
url2 = 'http://www.wechall.net/challenge/training/programming1/index.php?answer='
res = requests.post(url2 + r.text, headers=header)
print(res.text)