Von's Blog

Thinking will not overcome fear but action will.

sqli-labs做题记录(二)

Advanced Injections

Less-23 这道题主要是过滤了#,–。这样我们可以使用and ‘1’=’1来闭合’。这里我使用联合查询注入。 127.0.0.1/sqli-labs-master/Less-23/?id=-1' union select 1,2,3 and '1'='1 得出显示位为1,2。 爆库: 127.0.0.1/sqli-labs-master/Less-23/?id=-1' union se...

sqli-labs做题记录(一)

Basic Injections

前言 这几天也算是为了记录自己的成长过程来更新sqli-labs的做题记录。不知道能不能更完,毕竟总共有65关。不管怎么样,努力做到不咕吧。 受限于篇幅设置,我对于每一关的原理肯定没有办法讲得特别详细,但我会尽量讲得通俗易懂,并且给出相应的参考文章。 同时,对于类型相同的题目,我尽量给出不同的解法,来充实,提高自己。 Less-1 这题的考点是union联合查询注入。 对于这种类型,我推...

宽字节注入学习

宽字节注入 前言 什么是宽字节? GB2312、GBK、GB18030、BIG5、Shift_JIS等这些都是常说的宽字节,实际上只有两字节。宽字节带来的安全问题主要是吃ASCII字符(一字节)的现象。 我们以GBK编码为例进行讲解: 尽管现在呼吁所有的程序都使用unicode编码,所有的网站都使用utf-8编码,来一个统一的国际规范。但仍然有很多,包括国内及国外(特别是非英语国...

SQL报错注入

前言 这几天更新了很多博客,在写博客查资料的过程中也收获了许多。但是今天尴尬的发现,更新的大部分内容都是密码学的。。。 觉得有些对不住web这个老本行,于是决定写一篇关于报错注入的文章来总结总结。 说到SQL报错注入,以前只是知道它的用法,但是对于它的具体原理总是不太理解,今天借这个机会一并说明。 主键重复报错 利用floor()函数使SQL语句报错,实际上是由rand(),count()...

彩虹表

Hash的相关知识 Hash又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。 Hash函数的性质 1.能够根据任意的消息计算出固定长度的Hash值 2.能够快速计算出Hash值 3.消息不同散列值也不同(但是相同的散列值可能来自不同的输入) 4.抗碰撞性:找出任意两个不同的x,x' \in ...

hash长度拓展攻击

hash算法的实现(md5为例) md5算法的实现如下图: 下面详细来说明一下md5的加密过程: 1. 我们要实现对于字符串abc的 md5 的值计算。首先我们要把其转化为 16 进制. 2. 补位 消息必须进行补位,即使得其长度在对 512 取模后的值为 448。也就是说,len(message) % 512 == 448。当消息长度不满 448 bit 时(注意是位,而不是字符串长...

CTF中的RSA套路

前言 RSA是在CTF中经常出现的一类题目。一般难度不高,并且有一定的套路。(10.1补:我错了,我不配!我不配密码学)在此我写篇文章进行总结。本文不过多赘述RSA的加解密, 仅从做题角度提供方法。虽然说不赘述加解密,但是我们还是需要清楚在RSA里面的几个基本参数。 N:大整数N,我们称之为模数(modulus) p 和 q :大整数N的两个因子(factor) e 和 d:互为模反数的两...

SQL约束攻击

前言 这几天做CTF了解到SQL约束攻击的相关知识,特此写篇博客总结一下。(突然发现博客已经N长时间没有更新了) 前置知识 在SQL中执行字符串处理时,字符串末尾的空格符将会被删除。 EG: 可以看出,在图中两个SQL查询语句得出的结果是相同的。这是第一个利用的知识点。 在所有的INSERT查询中,SQL都会根据varchar(n)来限制字符串的最大长度。也就是说,如果字符串的长度大于“n...

My First Post

记一次对校园网账号的爆破

前言 上个星期开始就试图对校园网账号进行爆破。当出现验证码后试图用tesserocr对其进行识别继续爆破。然而发现简单的识别识别不出来。本来tesserocr支持 机器学习,然而由于我的菜一直没搞懂,工程本来就此停滞。但是后来在手机上查询校园网流量余额时偶然发现查询流量的网站在移动端居然没有验证码验证。于 是想到可以对移动端进行抓包然后进行爆破。 准备工作 由于校园账号的默认密码是身份证后...