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()#\

最后结果如下:

 

posted @ 2017-02-09 18:11  封停  阅读(550)  评论(0)    收藏  举报