欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

南邮CTF web题目总结

程序员文章站 2022-03-09 19:21:45
...

这几天写了南邮的web题目,都比较基础,但是对我这个小白来说还是收获蛮大的。可以借此总结一下web题的类型

一,信息都藏在哪

作为ctf题目,肯定是要有些提示的,这些提示有时会在题目介绍里说有时也会隐藏在某些地方。

1,源代码,这是最最最常见的。

南邮CTF web题目总结

2,http head头中,这个一般都会提下 ‘头’ 什么的。

3,非常规提示,就比如这个:

南邮CTF web题目总结

如果第一次做ctf题目,不知道还有这些套路,一般不会往这个方面想。

二,302自动跳转

在打开某个链接时,会跳转向另一个链接,而错过重要信息。

1,使用burpsuite一步步拦截释放,这样不会错过中间跳转。

2,如果网页使用的是js跳转,可以试试禁用js.

三,访问来源判断

这个也是经典题目了,通过判断ip,后者来源网址。可以总两个方面伪造

1,http referer头,这个头指示的是请求从哪个网站来

2,X-Forward-For头:这个头指示请求的ip

四,修改特定信息

这也是很基础的,主要有几个方面

1,GET/POST 表单的内容,包括键与值

2,修改HTTP header,多在cookie上有问题

五,php弱类型比较

1,字符串与数字比较:这个与mysql的规则比较像,开头纯字母的字符串会被转化为0,
开头有数字的会被转化为开头的数字。

比如:‘123abc’==123

               'abc123'==0

这两个都成立

2,科学计数法:0e开头的字符串会被认为值科学技术法形式,但转化成科学计数法有时
0成10的若干次方,都是相等的。

‘0e1234560’=='0e789456' 成立

比较明显的是在MD5加密上,如果两个字符串加密后都以0e开头,再比较他们的MD5值就会认为相等

也就会认为两字符串相等。

比如:md5('240610708')==md5('QNKCDZO')

3,intvar() 转换 这个函数可以把字符串转换为数字,规则与第一条类似

六,上传截断

参考我的一篇博客 https://blog.csdn.net/zpy1998zpy/article/details/80545408

七,sql注入

这个平台上没有特别在sql注入上难为同学们,也是基本题型

还是参考我的另一篇博客  https://blog.csdn.net/zpy1998zpy/article/details/80517626

八,十六进制绕过

十六进制在于数字比较时,会被转化为10进制,但在字符串操作时还是16进制形式。

南邮CTF web题目总结

这里的绕过就是传入 54975581388的16进制表示,就可通过对每一位ascii码的检查。

九,其他的小知识点

1,javascript aaencode  各种表情符 ,就是特征

解码:在线解码 https://tool.zcmzcm.org/aadecode

有个小问题,如果网页直接打开为乱码,就右键另存为,保存到本地用记事本打开,再去解码就行了。

2,JSF*ck 编码 各种括号加号

在线解码 http://www.jsfuck.com/

3,.swp文件,如果有提示就可以查看  .原文件名.swp

比如:直接访问    http://站点/ .index.php.swp 可以看到提示内容

4, .bash_history 文件 同样的,如果有提示,就可以试着访问这个文件,

5,序列化与反序列化,主要还是要懂基本含义与格式,然后调用 序列化与反序列化函数即可

这是php反序列化那题生成playload的代码

<?php
class just4fun {
    var $enter;
    var $secret;
}
$o = new just4fun();
$o->enter = &$o->secret;
echo serialize($o);
?>

如果会调用函数,就可以操作序列化和反序列化,所有重点还是对题目服务器代码的绕过技巧。


转载指明出处