Hack is fun

I choose to be a hacker just because it's fun.

Programming • Penetration • Reverse • Sectool
  • Programming

    Show me the code.

  • Penetration

    Know it and hack it.

  • Reverse

    Everything can be pwn.

  • Sectool

    Sharp tools make good work.

sunnyelf

浅析弱口令

作者: 分类: 渗透测试 评论: 2条 时间: 2017-03-16 浏览: 11,076 次

浅析弱口令.png

0x00 前言

弱口令其实是长期以来一直存在的问题,直到今天我们还能经常听某个著名厂商公司因为存在弱口令问题而导致大量内部或外部用户信息泄露,甚至商业计划和机密泄露,所以一个安全密码设置的重要性不言而喻,涉及密码,不得谈到密码的强弱,当然强弱密码的区分没有一个严格明确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或容易被破解工具破解的口令均为弱密码,在此我粗略谈谈弱密码方面,也就是我们经常说到的弱口令。

其实设置密码的强弱很大程度上与这个人的个人习惯和安全意识有关,当然还是受其他的因素的影响,比如公司出于安全考虑要求设置强密码等其他强制硬性要求,个人觉得弱口令可以大致分为两类,一类就是公共弱口令,另一类就是个人弱口令。

阅读全文»

尽最大可能分析上传源码及漏洞利用方式

作者: 分类: 渗透测试 评论: 暂无 时间: 2017-03-03 浏览: 6,809 次

0x00 简单源码分析

<?php
if ((($_FILES["file"]["type"] == "image/gif")       //检测Content-type值
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))              //检测文件大小
  {
  $ext = end(explode('.', $_FILES["file"]["name"]));  //获取最后“.”的后缀
  if($ext === 'php')                          //检测是否为php后缀
    {
    exit('error');
    }
  if ($_FILES["file"]["error"] > 0)           //返回上传错误码
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else                                                  //返回上传成功信息
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))  //检测文件是否存在
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else                          //将上传的临时文件转移到指定存放文件夹
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";              //返回无效文件的错误信息
  }
?>

阅读全文»

一道有趣的网络取证分析CTF题目

作者: 分类: CTF 评论: 1条 时间: 2017-02-28 浏览: 3,719 次

0x01 解题

这是一道新颖的网络取证分析的题目,用TCP协议紧急数据来隐藏发送flag,很多选手都被其中的图片带偏了方向,导致花了很多时间也没有做出来,其实刚开始我也被带入坑:-(

阅读全文»

CTF中那些脑洞大开的编码和加密

作者: 分类: CTF 评论: 12条 时间: 2017-02-23 浏览: 22,026 次

0x00 前言

正文开始之前先闲扯几句吧,玩CTF的小伙伴也许会遇到类似这样的问题:表哥,你知道这是什么加密吗?其实CTF中脑洞密码题(非现代加密方式)一般都是各种古典密码的变形,一般出题者会对密文进行一些处理,但是会给留一些线索,所以写此文的目的是想给小伙伴做题时给一些参考,当然常在CTF里出现的编码也可以了解一下。本来是想尽快写出参考的文章,无奈期间被各种事情耽搁导致文章断断续续写了2个月,文章肯定有许多没有提及到,欢迎小伙伴补充,总之,希望对小伙伴们有帮助吧!

0x01 目录

常见编码:
    1.ASCII编码
    2.Base64/32/16编码
    3.shellcode编码
    4.Quoted-printable编码
    5.XXencode编码
    6.UUencode编码
    7.URL编码
    8.Unicode编码
    9.Escape/Unescape编码
    10.HTML实体编码
    11.敲击码(Tap code)
    12.莫尔斯电码(Morse Code)
    13.编码的故事

各种文本加密

换位加密:
    1.栅栏密码(Rail-fence Cipher)
    2.曲路密码(Curve Cipher)
    3.列移位密码(Columnar Transposition Cipher)
    
替换加密:
    1.埃特巴什码(Atbash Cipher)
    2.凯撒密码(Caesar Cipher)
    3.ROT5/13/18/47
    4.简单换位密码(Simple Substitution Cipher)
    5.希尔密码(Hill Cipher)
    6.猪圈密码(Pigpen Cipher)
    7.波利比奥斯方阵密码(Polybius Square Cipher)
    8.夏多密码(曲折加密)
    9.普莱菲尔密码(Playfair Cipher)
    10.维吉尼亚密码(Vigenère Cipher)
    11.自动密钥密码(Autokey Cipher)
    12.博福特密码(Beaufort Cipher)
    13.滚动密钥密码(Running Key Cipher)
    14.Porta密码(Porta Cipher)
    15.同音替换密码(Homophonic Substitution Cipher)
    16.仿射密码(Affine Cipher)
    17.培根密码(Baconian Cipher)
    18.ADFGX和ADFGVX密码(ADFG/VX Cipher)
    19.双密码(Bifid Cipher)
    20.三分密码(Trifid Cipher)
    21.四方密码(Four-Square Cipher)
    22.棋盘密码(Checkerboard Cipher)
    23.跨棋盘密码(Straddle Checkerboard Cipher)
    24.分组摩尔斯替换密码(Fractionated Morse Cipher)
    25.Bazeries密码(Bazeries Cipher)
    26.Digrafid密码(Digrafid Cipher)
    27.格朗普雷密码(Grandpré Cipher)
    28.比尔密码(Beale ciphers)
    29.键盘密码(Keyboard Cipher)

其他有趣的机械密码:
    1.恩尼格玛密码

代码混淆加密:
    1.asp混淆加密
    2.php混淆加密
    3.css/js混淆加密
    4.VBScript.Encode混淆加密
    5.ppencode
    6.rrencode
    7.jjencode/aaencode
    8.JSfuck
    9.jother
    10.brainfuck编程语言

相关工具

参考网站

阅读全文»

深入理解JPEG图像格式Jphide隐写

作者: 分类: CTF 评论: 4条 时间: 2017-02-08 浏览: 46,280 次

0x00 隐写原理

Jphide是基于最低有效位LSB的JPEG格式图像隐写算法,使用JPEG图像作为载体是因为相比其他图像格式更不容易发现隐藏信息,因为JPEG图像在DCT变换域上进行隐藏比空间域隐藏更难检测,并且鲁棒性更强,同时Blowfish算法有较强的抗统计检测能力。

由于JPEG图像格式使用离散余弦变换(Discrete Cosine Transform,DCT)函数来压缩图像,而这个图像压缩方法的核心是:通过识别每个8×8像素块中相邻像素中的重复像素来减少显示图像所需的位数,并使用近似估算法降低其冗余度。因此,我们可以把DCT看作一个用于执行压缩的近似计算方法。因为丢失了部分数据,所以DCT是一种有损压缩(Loss Compression)技术,但一般不会影响图像的视觉效果。

0x01 隐写过程

Jphide隐写过程大致为:先解压压缩JPEG图像,得到DCT系数;然后对隐藏信息用户给定的密码进行Blowfish加密;再利用Blowfish算法生成伪随机序列,并据此找到需要改变的DCT系数,将其末位变为需要隐藏的信息的值。最后把DCT系数重新压回成JPEG图片,下面是个人对隐写过程理解画出的大致流程图。

阅读全文»