Reber's Blog

会一点点编程、会一点点渗透


SQL 注入之布尔型注入(MySQL)

0x00 特点

当页面存在注入,但是没有显示位,且没有用echo "mysql_error()"输出错误信息时可以用,
它一次只能猜测一个字节,速度慢,但是只要存在注入就能用

0x01 利用方式

用and连接前后语句:www.xxx.com/aa.php?id=1 and (注入语句) --+
根据返回页面是否相同来得到数据

0x02 注入步骤

  1. 找到注入点,判断闭合字符 得到闭合字符

  2. 尝试猜解列数,得到显示位 猜解列数 尝试得到显示位

  3. 得到数据库名 猜解数据库数量 猜第5个数据库第2个字符 最终得到第五个数据库名为security

  4. 得到表名 猜解表的数量和第4张表的表名长度 猜第4个表第1个字符 最终依次猜的表名为users

  5. 得到列名 猜解有几列 猜解users表第2列列名的长度 猜测users表第2列列名的第1个字符 同理最终得到第2列列名为username,第3列列名为password

  6. 得到列值 猜解数据条数 猜解第13条数据username字段值的长度 猜解第13条数据username字段值的前两个字符 依次得到为admin4,同理可得其他数据

more...

SQL 注入之报错型注入(MySQL)

0x00 前提

一般是在页面没有显示位、但用echo mysql_error();输出了错误信息的时候使用,
它的特点是注入速度快,但是语句较复杂,不能用group_concat(),只能用limit依次猜解

0x01 利用方式

报错注入只要套用公式即可,如下(第一个公式count(*)、floor()、rand()、group by不可或缺,后两个公式有32位的限制):

more...

SQL 注入之联合查询(MySQL)

0x00 前提

要用联合查询进行注入则:页面必须有显示位

0x01 联合查询

union可合并两个或多个select语句的结果集,前提是两个select必有相同列、且各列的数据类型也相同

more...

SQL 注入之 load_file 和 into outfile(MySQL)

0x00 load_file() 读文件

  • 条件:
1. 要有file_priv权限: show global variables like '%secure%';
2. 知道文件绝对路径
3. 能使用union
4. 对web目录有读权限  
注:若过滤了单引号,则可以将函数中的字符进行hex编码
  • 一般步骤

    • 读/etc/init.d下的东西,这里有配置文件路径
    ?id=1' union select 1,2,load_file('/etc/init.d/httpd')
    
    • 得到web安装路径
    ?id=1' union select 1,2,load_file('/etc/apache/conf/httpd.conf')
    
    • 读取密码文件
    ?id=1' union select 1,2,load_file('/site/xxx.com/conf/conn.inc.php')
    
more...

SQL 注入

0x00 含义

sql注入是将代码插入(拼接)到应用(用户)的输入参数中,之后再将这些参数传递给后台的SQL服务器加以解析并执行的攻击,

more...

MySQL的information_schema库

0x00 information_schema

information_schema这个数据库中保存了MySQL服务器所有数据库的信息。
如数据库名,数据库的表,表栏的数据类型与访问权限等。
再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,
每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema里面。

information_schema的表schemata中的列schema_name记录了所有数据库的名字
information_schema的表tables中的列table_schema记录了所有数据库的名字
information_schema的表tables中的列table_name记录了所有数据库的表的名字
information_schema的表columns中的列table_schema记录了所有数据库的名字
information_schema的表columns中的列table_name记录了所有数据库的表的名字
information_schema的表columns中的列column_name记录了所有数据库的表的列的名字

50

more...

Linux 下搭建 FTP

安装环境为:CentOS-6.5-x86_64-minimal

0x00 安装

yum install vsftpd

0x01 配置

  1. 备份
    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

  2. 编辑配置文件

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO	#设定不允许匿名访问
local_enable=YES	#设定本地用户可以访问
chroot_list_enable=YES	#使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log	#设定vsftpd的服务日志
ascii_upload_enable=YES
ascii_download_enable=YES	#设定支持ASCII
pam_service_name=vsftpd	#PAM认证文件名,PAM将根据/etc/pam.d/vsftpd进行认证
# 并在尾部追加:
guest_enable=YES	#设定启用虚拟用户功能。
guest_username=ftp	#指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
guest_config_dir=/etc/vsftpd/vuser_conf	#设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性化的配置文件名,和虚拟用户名相同
  1. 新增chroot_list并将ftp用户输入进去
    touch /etc/vsftpd/chroot_list
    echo ftp » /etc/vsftpd/chroot_list

  2. 安装Berkeley DB工具用来对虚拟用户认证配置管理:
    yum install db4 db4-utils

  3. 创建用户账户文件

more...

Linux 下搭建 Tomcat+MySQL+JSP

安装环境为:CentOS-6.5-x86_64-minimal

0x00 安装mysql

$ sudo yum install mysql mysql-server mysql-devel
安装mysql.png 创建数据库tomcat.png 将数据库tomcat分配给用户tomcat.png

0x01 安装jdk和tomcat

  1. 创建安装jdk和tomcat的文件夹 创建安装jdk和tomcat的文件夹.png

  2. 下载安装包并解压安装

more...

Linux 下搭建 Nginx+MySQL+PHP

安装环境为:CentOS-6.5-x86_64-minimal

0x00 准备工作

首先执行:
    sudo yum groupinstall "Development tools"
安装make:
    yum -y install gcc automake autoconf libtool make
安装g++:
    yum install gcc gcc-c++

0x01 安装mysql和php

sudo yum install mysql mysql-server mysql-devel
sudo yum install php php-devel
sudo yum install php-gd php-mysql php-fpm

0x02 安装依赖

  1. 安装pcre、pcre-devel
    sudo yum install pcre pcre-devel

  2. 安装zlib、zlib-devel
    sudo yum install zlib zlib-devel

  3. 安装ssl
    sudo yum install openssl openssl-devel

more...

Previous Page 14 of 18 Next Page