伪静态
1,需要开启站点的重写机制,需要修改配httpd配置文件,将LoadModule rewrite_module modules/mod_rewrite.so注释取消,需要apache支持解析.htaccess文件,找到 AllowOverride None修改为 AllowOverride ALL,重启apache
2,新建.htaccess文件,然后写入“重写规则”,
RewriteEngine on //开启重写机制
RewriteRule ([0-9]{1,})\.html$ index.php?id=$1//重写规则,([0-9]{1,})$匹配$1的值,\是转义符,html$表示Url中以html结尾
RewriteRule ([0-9]{1,}-[a-zA-Z]{1,})\.html$ index.php?id=$1&para=$2

VULHUB搭建靶场
Vulhub是一个面向大众的开源漏洞靶场,无需docker知识,简单执行两条命令即可编译、运行一个完整的漏洞靶场镜像。
https://github.com/vulhub/vulhub
https://vulhub.org/#/environments/

1,需要安装pip,是python的用来管理工具包的工具,安装compose,pip install docker-compose
2,下载vulhub,wget https://github.com/vulhub/vulhub/archive/master.zip -O vulhub-master.zip, 解压 unzip vulhub-master.zip,进入cd vulhub-master
3,启动vulhub,进入某一个漏洞/环境的目录 cd tomcat/CVE-2017-12615,之后启动整个环境docker-compose up -d,移除环境docker-compose down -v,在哪个目录启动就在哪个目录移除
运行起来的环境的端口,docker ps
pip install docker-compose下载安装好docker-compose会报错ImportError: No module named ssl_match_hostname,找不到模块ssl_match_hostname,安装会提示有最新的了,解决方法
复制模块到包路径下
#进入backports模块路径
cd /usr/local/lib/python2.7/dist-packages
#复制整个包到transport包路径下
cp -r backports /usr/local/lib/python2.7/dist-packages/docker/transport

宽字节sql注入
mysqli_query("SET NAMES 'utf8'"); 设置查询结果的字符集编码
mysqli_set_charset("utf8"); 设置存的时候的字符编码
mysqli_real_escape_string(),对参数进行过滤转义,基友类似功能的函数有,addslaches()
mysql_escape_string(php 5.3之后移除了),
魔术引号(magic_quotes_gpc模块)

特殊符号有',",\,null,<,>,等进行转义
gbk编码,针对汉字的一种编码方式,使用两个字节编码一个汉字

如果程序的默认字符集是GBK等宽字节字符集,就有可能产生宽字节注入,绕过上述过滤。
若在 PHP 中使用mysql_query("set names gbk")将默认字符集设为GBK,而使用addslashes()转义用户输入,这时如果用户输入%bb%27,则addslashes()会在%27前面加上一个%5c字符,即转义字符\。
而 MySQL 在使用GBK编码时,会认为两个字符为一个汉字,%bb%5c是一个宽字符(前一个 ASCII 码大于 128 才能到汉字的范围),也就是籠,也就是说%bb%5c%27=籠',这样单引号就未被转义能闭合语句,从而产生 SQL 注入。%bb并不是唯一一个可以产生宽字节注入的字符,理论上%81-%FE均可。
过滤\'中的\
构造%bb%5c%5c%27,addslashes()会在两个%5c和%27前都加上\即%5c,变为%bb %5c%5c %5c%5c %5c%27,但宽字符集认为%bb%5c是一个字符即籠,则变为%bb%5c %5c%5c %5c%5c %27即籠\\\\',四个\正好转义为两个\,即'未被转义。这也是 bypass 的一种方法。

测试步骤
1,访问站点,查看返回结果,http://127.0.0.1/gbksql/01/?id=1' 查看返回结果,SELECT * FROM news WHERE tid='1\''
2,http://127.0.0.1/gbksql/01/?id=1%df',高位在81以后就能用,81-fe,1%df--->1df5c-->1運',引号出来就闭合了,就可以使用语句注入了

PDO:连接数据库-->设置模版-->绑定数据-->执行sql语句
PDO prepare参数化语句,可以解决sql注入语句的原理 https://www.jianshu.com/p/c0deb8061718

二次编码注入
浏览器会对from表单中数据进行依次url解码,到达服务器之后会默认解码
php中url解码函数有,urldecode(),rawurldecode()两个函数

头部注入
x-forwarded-for:简称xff头,它代表客户端,也就是HTTP的请求端真实的Ip,通常一些网站的防注入功能会记录请求端真实Ip地址并写入数据库or某文件

2019-10-24:伪静态,VULHUB搭建靶场,宽字节sql注入,笔记的更多相关文章

  1. 宽字节SQL注入

    1.联想lelink站 例1, 联想lelink站user参数存在宽字节SQL注入 提交,user=wctest%df’ and 1=2%23 结果,出现了”運”字,如图:

  2. 第一次靶场练习:SQL注入(1)

    SQL注入1 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://117.41 ...

  3. 2019.10.24 CSP%你赛第二场d1t3

    题目描述 Description 精灵心目中亘古永恒的能量核心崩溃的那一刻,Bzeroth 大陆的每个精灵都明白,他们的家园已经到了最后的时刻.就在这危难关头,诸神天降神谕,传下最终兵器——潘少拉魔盒 ...

  4. 2019/10/24 CSP-S 模拟

    T1 tom 题意: 考虑一定是属于\(a\)的在一坨,属于\(b\)的在一坨,找到这条连接\(a\)和\(b\)的边,然后分别直接按\(dfs\)序染色即可 注意属于\(a\)的连通块或属于\(b\ ...

  5. [靶场实战]:SQL注入-显错注入

    SQL注入的本质:就是将用户输入的数据当作代码带入执行. 注入条件: 1.用户能控制输入 2.能够将程序原本执行的代码,拼接上用户输入的数据进行执行 首先检查是否存在注入点 Rank1: 构造语句 ? ...

  6. SQL注入:宽字节注入

    了解GBK编码 尽管现在呼吁所有的程序都使用unicode编码,所有的网站都使用utf-8编码,来一个统一的国际规范.但仍然有很多,包括国内及国外(特别是非英语国家)的一些cms,仍然使用着自己国家的 ...

  7. 宽字节XSS跨站攻击

    简介 宽字节跨站漏洞多发生在GB系统编码. 对于GBK编码,字符是由两个字节构成,在%df遇到%5c时,由于%df的ascii大于128,所以会自动拼接%5c,吃掉反斜线.而%27 %20小于asci ...

  8. Alpha冲刺(1/10)——2019.4.24

    所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(1/10)--2019.4.24 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...

  9. kali docker简单使用-vulhub搭建fastjson漏洞环境

    准备环境 安装kali和docker参考: https://www.cnblogs.com/lijingrong/p/13396884.html sudo service docker start / ...

随机推荐

  1. Apollo报错找不到apollo.meta的问题解决方案

    问题描述 Apollo报错,找不到apoll.meta,但是明明配置了apollo-env.properties到apollo-client内了. apollo-env.properties pro. ...

  2. django-模板之for标签(十)

  3. 阿里六面,挂在hrg,我真的不甘心!

    前言最近跟一位朋友聊天,福报场-阿里是大部分程序员的梦想.这位老哥梦想进入阿里很久了,连续两年面试阿里不同bu,有几次是技术面挂,最冤的一次是技术6面了,连P10大老板都面了,但是挂在了hrg. 我以 ...

  4. Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required [ IDEA mybatis项目报错 ]

    今天笔者用Springboot框架整合Mybatis做一个小小的项目: 代码写完,在运行项目时,IDEA给我报了3处错误: org.springframework.beans.factory.Unsa ...

  5. Python安装pyinstaller方法,以及将项目生成可执行程序的步骤

    pyinstaller安装方法 前提:确保计算机安装了Python语言环境,并且正确配置了环境变量. 方法一:联网在线自动安装 选择一 Windows OS下进入cmd(命令行窗口) 输入:pip i ...

  6. 前端开发之VSCode扩展

    1.Chinese (Simplified) Language Pack for Visual Studio Code——中文语言包 2.Beautify——代码格式化工具 3.HTML Snippe ...

  7. 基于verdaccio的npm私有仓库搭建

    详见个人博客:https://shengchangwei.github.io/verdaccio/ 一.使用npm安装 npm install --global verdaccio 二.cmd 启动 ...

  8. 第二十七章 system v消息队列(三)

    消息队列实现回射客户/服务器 msg_srv.c #include <stdio.h> #include <stdlib.h> #include <unistd.h> ...

  9. 学习笔记55_Nhibernate

    另一种ORM框架 1.添加各种dll 2.添加配置信息,根据文档直接复制粘贴.config //一般下载Nhibernate-3.0.0.Alpha2-bin包,会有Configuration_Tem ...

  10. My Eclipse 配置

    设置编码格式 点击Windows → preference → WorkSpace 设置编码格式 点击Windows → preference → General →Appearence → Colo ...