ctf-web&misc学习小结
参加“信息安全实验班”选拔前整理的一些东西。
一、vim查看二进制
1 |
|
二、文件包含
eval("var_dump($a);");
函数可以将变量内容当作代码执行
get_file_contents('./path')
可以获取文件内容
<script language=php>system("ls")</script>
进阶
如果进行了正则匹配的话可以使用GLOBALS
显示所有变量
三、unicode编码解码
使用document.write()
可以直接显示
四、弱类型
is_numeric()
用来判断内容是不是数字
if($num==1)
会进行类型转换所以1a == 1
五、域名解析
修改请求头的host字段
六、JSFUCK
是一种深奥的JavaScript 编程风格,直接运行
七、注意抓包观察返回的头
八、本地访问
x-forwarded-for:127.0.0.1
字段表示访问的真实ip
九、你从哪里来
Referer
可以指示
注意: Referer: https://www.google.com
没有结尾
十、unescape可以用来解码
十一、php一些内容
显示文件内容php://filter/read=convert.base64-encode/resource=./index.php
php://input
是POST data的输入流可以放进get_file_contents()
函数读取
NULL
的序列化是s:0:"";
;的转义是%3B
十二、cookie模拟元素点击
$("#cookie").mouseup()
十三、各种绕过
MD5弱类型 s878926199a
和s155964671a
md5绕过方法: 1.可以通过一些特殊的字符串, 2.数组绕过。如果v1 v2是两个数组,md5函数不能获取到值,可以绕过。
strcmp绕过: 将v3构造成数组。 strcmp(array,string)=null=0
strcmp() 函数比较两个字符串,且对大小写敏感。
0 - 如果两个字符串相等 <0 - 如果 string1 小于 string2 0 - 如果 string1 大于 string2
数组可以绕过sha1()
解题方法:
GET请求: ?flag=&gift=
十四、遇到自动跳转的
curl url
十五、注意robots.txt
可能会有收获
十六、求getshell
修改Content-Type字段 multipart/form-data任意一个字母为大写
拓展名 尝试 php2, php3, php4, php5,phps, pht, phtm, phtml
十七、Wifi密码破解
crunch 11 11 -t 1391040%%%% >> lib.txt
生成字典
十八、zip伪加密
50 4B 03 04:这是头文件标记(0x04034b50) 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密)
50 4B 01 02:目录中文件文件头标记(0x02014b50) 3F 00:压缩使用的 pkware 版本 14 00:解压文件所需 pkware 版本 00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
十九、隐写
工具binwalk fcrackzip formost file
fcrackzip -b -l 3-3 -c1 -v flag.zip
Zip 50后面是开始
png的第二行是高和宽
栅栏密码 https://www.qqxiuzi.cn/bianma/zhalanmima.php
16进制 https://www.bejson.com/convert/ox2str/
编码解吗大全 https://blog.csdn.net/pdsu161530247/article/details/75667218
附、杂记
成绩出来了,成绩+机试排名22,这些天在反复纠结是否应该抓住这个机会,突然想明白了一个道理,觉得还是应该顺遂本心,向着自己的兴趣“自然语言处理”的方向努力,不该为了可能有所增加的保研机会就放弃自己的优势和积淀。 相信不管在哪里不去努力都是不行的,希望自己能够顺遂本心,在自己选择的方向上努力前行。 写在这里,记录一下,希望自己的选择是正确的。 2019.7.6 面试前夜
参考资料: