destoon源码分析一
#0x01 先记录一些之前模糊的小知识点,补充一下
- set_magic_quotes_runtime() -- 设置magic_quotes_runtime配置激活状态(php 5.3 被弃用,php7.0.0移除)
- magic_quotes_sybase为on,会覆盖magic_quotes_gpc(只能在运行时关闭,即运行时不能使用ini_set()),所以即便get_magic_quotes_gpc()为True,双引号,反斜杠或NUll都不会被转义,只有单引号会被转义(使用'注释,形如'')
- get_magic_quotes_gpc() php5.4被移除
#0x02 guestbook的一个注入的思考
看了phithon的关于guestbook的sql注入,本地复现没有成功,不知道是不是安装版本的问题,自己写了一个简单的类似脚本
<?php
error_reporting(E_ALL);
$db = mysqli_connect('127.0.0.1', 'root', 'root', 'destoon') or die('error');
if (isset($_GET['name'])){
$name = htmlspecialchars($_GET['name'], ENT_QUOTES);
$type = substr($name,0,10);
}else {
$name ='';
}
//$name = isset($_GET['name']) ? htmlspecialchars($_GET['name']) , '' ;
if (!empty($name)){
echo 1;
$sql = "insert into demo(name,title,xx) values ('$name',$type,'1')";
echo $sql;
$insert = mysqli_query($db, $sql);
//echo $insert;
if ($insert){
echo 'insert success';
}
}else {
$sql2 = "select * from demo";
$res = mysqli_query($db, $sql2);
if ($res){
while($row = mysqli_fetch_assoc($res)){
echo $row['id']."==========".$row['name']."===========".$row['xx']."===========".$row['title'].'<br/>';
}
}else{
echo 'query failed';
} }
//echo '<br/>';
//echo htmlspecialchars($_GET['x'], ENT_QUOTES); mysqli_close($db);
URL注入如下:
http://demo.com:8080/2.9/1.php?name=database()#\
最后结果如下:

destoon源码分析一的更多相关文章
- ABP源码分析一:整体项目结构及目录
ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module ...
- HashMap与TreeMap源码分析
1. 引言 在红黑树--算法导论(15)中学习了红黑树的原理.本来打算自己来试着实现一下,然而在看了JDK(1.8.0)TreeMap的源码后恍然发现原来它就是利用红黑树实现的(很惭愧学了Ja ...
- nginx源码分析之网络初始化
nginx作为一个高性能的HTTP服务器,网络的处理是其核心,了解网络的初始化有助于加深对nginx网络处理的了解,本文主要通过nginx的源代码来分析其网络初始化. 从配置文件中读取初始化信息 与网 ...
- zookeeper源码分析之五服务端(集群leader)处理请求流程
leader的实现类为LeaderZooKeeperServer,它间接继承自标准ZookeeperServer.它规定了请求到达leader时需要经历的路径: PrepRequestProcesso ...
- zookeeper源码分析之四服务端(单机)处理请求流程
上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...
- zookeeper源码分析之三客户端发送请求流程
znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的 ...
- java使用websocket,并且获取HttpSession,源码分析
转载请在页首注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6238826.html 一:本文使用范围 此文不仅仅局限于spring boot,普通的sprin ...
- ABP源码分析二:ABP中配置的注册和初始化
一般来说,ASP.NET Web应用程序的第一个执行的方法是Global.asax下定义的Start方法.执行这个方法前HttpApplication 实例必须存在,也就是说其构造函数的执行必然是完成 ...
- ABP源码分析三:ABP Module
Abp是一种基于模块化设计的思想构建的.开发人员可以将自定义的功能以模块(module)的形式集成到ABP中.具体的功能都可以设计成一个单独的Module.Abp底层框架提供便捷的方法集成每个Modu ...
随机推荐
- wifi扩展设置
一.主路由器设置 网络参数 LAN口设置查到 MAC地址,用于设置扩展路由器 Bridge功能设置时 AP1的地址 2.无线基本设置,桥的 SSID BSSID 为扩展 3.无线安全设置 二.扩展路由 ...
- dict-字典功能介绍
叨逼叨:#字典 可变类型 意思就是修改的是自己本身#可变类型,当修改后,内存里的值也会对应着修改#不可变类型,当修改后,会在内存里开启一块新的空间,放新的值#1.清空 # name = { # 'na ...
- nopCommerce 3.9 大波浪系列 之 global.asax
一.nop的global.asax文件 nop3.9基于ASP.NET MVC 5框架开发,而ASP.NET MVC中global.asax文件包含全局应用程序事件的事件处理程序,它响应应用程序级别和 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- redis分布式锁和消息队列
最近博主在看redis的时候发现了两种redis使用方式,与之前redis作为缓存不同,利用的是redis可设置key的有效时间和redis的BRPOP命令. 分布式锁 由于目前一些编程语言,如PHP ...
- (转)简单介绍java Enumeration
简单介绍java Enumeration 分类: java技术备份 java数据结构objectstringclass存储 Enumeration接口 Enumeration接口本身不是一个数据结构 ...
- PHP通过phpmailer批量发送邮件功能
前端页面代码: 注意:目前发送人使用的qq邮箱支持的不是特别友好.建议使用网易 新浪 163等其他邮箱. 需要用到phpmailer包 下载地址:https://sourceforge.net/pro ...
- Python:使用Kivy将python程序打包为apk文件
1.概述 Kivy是一套Python下的跨平台开源应用开发框架,官网,我们可以用 它来将Python程序打包为安卓的apk安装文件.以下是在windows环境中使用. 安装和配置的过程中会下载很多东西 ...
- 64位系统下8G内存仅使用到4G问题的解决方法
笔记本:联想E46G 当前bios版本:25CN32WW 内存:DDR3 133 4G × 2 问题:bios信息显示8G,win7和ubuntu 在64位下使用情况仅4G 准备工作1:bios版本和 ...
- 会话跟踪技术之——cookie
1.cookieForm <%@ page language="java" contentType="text/html; charset=UTF-8" ...