南邮CTF web题目总结

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

一,信息都藏在哪

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

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


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

3,很是规提示,就好比这个:


若是第一次作ctf题目,不知道还有这些套路,通常不会往这个方面想。java

二,302自动跳转

在打开某个连接时,会跳转向另外一个连接,而错太重要信息。mysql

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

2,若是网页使用的是js跳转,能够试试禁用js.

三,访问来源判断

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

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

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

四,修改特定信息

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

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

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

五,php弱类型比较

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

好比:‘123abc’==123bash

               'abc123'==0服务器

这两个都成立cookie

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

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

比较明显的是在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进制形式。


这里的绕过就是传入 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);
?>

若是会调用函数,就能够操做序列化和反序列化,全部重点仍是对题目服务器代码的绕过技巧。


转载指明出处