Php注入点构造代码_php技巧

把下面保存成 Test.asp

复制代码 代码如下:

<? 
 $mysql_server_name = "localhost"; 
    $mysql_username    = "root"; 
    $mysql_password    = "password"; 
    $mysql_database    = "phpzr";    //??ݿ?? 
    $conn=mysql_connect( $mysql_server_name, $mysql_username, $mysql_password ); 
    mysql_select_db($mysql_database,$conn); 
$id=$_GET['id']; 
    $sql = "select username,password from admin where id=$id"; 
    $result=mysql_db_query( $mysql_database, $sql,$conn );     
    $row=mysql_fetch_row($result); 
?> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Php Sql Injection Test </title> 
</head> 
<body> 
<p align="center"><b><font color="#FF0000" size="5" face="华文行楷"> </font><font color="#FF0000" size="5" face="华文新魏">PHP  
注入测试专用</font></b></p> 
<table width="100%" height="25%" border="1" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td><?=$row[0]?></td> 
</tr> 
<tr> 
<td><?=$row[1]?></td> 
</tr> 
</table> 
<p><u><font color="#0000FF">BY:孤狐浪子 QQ:393214425 </font></u></p> 
<p><font color="#0000FF">Blog: Http://itpro.blog.163.com</font></p> 
<p> </p> 
</body> 
</html>  

创建数据库代码:保存成test.sql 使用phpmyadmin执行就ok了

复制代码 代码如下:

CREATE DATABASE `phpzr` ; //创建数据库名称 

CREATE TABLE admin ( 
  id int(10) unsigned NOT NULL auto_increment, 
  username char(10) NOT NULL default '', 
  password char(10) NOT NULL default '', 
  useremail char(20) NOT NULL default '', 
  groupid int(11) NOT NULL default '0', 
  PRIMARY KEY  (id) 
) TYPE=MyISAM; 

  

INSERT INTO admin VALUES (1, 'admin', 'itpro.blog.163.com','itpro@163.com', 1); 
INSERT INTO admin VALUES (2, 'admin1', 'itpro.blog.163.com','itpro@163.com', 2); 
INSERT INTO admin VALUES (3, 'admin2', 'itpro.blog.163.com','itpro@163.com', 3); 
INSERT INTO admin VALUES (4, 'admin3', 'itpro.blog.163.com','itpro@163.com', 4); 
INSERT INTO admin VALUES (5, 'admin4', 'itpro.blog.163.com','itpro@163.com', 5); 

CREATE TABLE admin1 ( 
  id int(10) unsigned NOT NULL auto_increment, 
  username char(10) NOT NULL default '', 
  password char(10) NOT NULL default '', 
  useremail char(20) NOT NULL default '', 
  groupid int(11) NOT NULL default '0', 
  PRIMARY KEY  (id) 
) TYPE=MyISAM; 

  

INSERT INTO admin1 VALUES (1, 'admin', 'itpro.blog.163.com','itpro@163.com', 1); 
INSERT INTO admin1 VALUES (2, 'admin1', 'itpro.blog.163.com','itpro@163.com', 2); 
INSERT INTO admin1 VALUES (3, 'admin2', 'itpro.blog.163.com','itpro@163.com', 3); 
INSERT INTO admin1 VALUES (4, 'admin3', 'itpro.blog.163.com','itpro@163.com', 4); 
INSERT INTO admin1 VALUES (5, 'admin4', 'itpro.blog.163.com','itpro@163.com', 5); 

时间: 2024-11-01 21:04:00

Php注入点构造代码_php技巧的相关文章

PHP登录环节防止sql注入的方法浅析_php技巧

在防止sql注入这些细节出现问题的一般是那些大意的程序员或者是新手程序员,他们由于没有对用户提交过来的数据进行一些必要的过滤,从而导致了给大家测试的时候一下就攻破了你的数据库,下面我们来简单的介绍一个用户登录未进行安全配置可能出现的sql注入方法,下面一起来看看吧. 比如以下一段登录的代码: if($l = @mysql_connect('localhost', 'root', '123')) or die('数据库连接失败'); mysql_select_db('test'); mysql_s

PHP中防止SQL注入实现代码_php技巧

一. 注入式攻击的类型 可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型.这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话.本文后面,我们会对此作详细讨论. 如 果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如"1=1"这样的条件注入到WHERE子句中,如下所示(其中,注入部分以粗体显示): SELECT * FROM wines WHERE variety = 'lagrein' OR 1=1;'

sql注入与转义的php函数代码_php技巧

sql注入: 正常情况下: delete.php?id=3; $sql = 'delete from news where id = '.$_GET['id']; 恶意情况: delete.php?id=3 or 1; $sql = 'delete from news where id = 3 or 1';  -------如此执行后,所有的记录将都被删除 应该采取相关措施...比如用之前先判断是否是数字等等. 要使自己相信,从客户端传来的信息永远是不可靠的!! 转义: 有时候从客户端传来的数据

通俗易懂的php防注入代码_php技巧

介绍两种方法吧,首先请把以下代码保存为safe.php放在网站根目录下,然后在每个php文件前加include("/safe.php");即可 : php防注入代码方法一: 复制代码 代码如下: <?php //要过滤的非法字符 $ArrFiltrate=array("'",";","union"); //出错后要跳转的url,不填则默认前一页 $StrGoUrl=""; //是否存在数组中的值 fu

PHP中防止SQL注入方法详解_php技巧

问题描述: 如果用户输入的数据在未经处理的情况下插入到一条SQL查询语句,那么应用将很可能遭受到SQL注入攻击,正如下面的例子: 复制代码 代码如下: $unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table` (`column`) VALUES ('" . $unsafe_variable . "')"); 因为用户的输入可能是这样的: 复制代码 代码如下: value');

php使用exec shell命令注入的方法讲解_php技巧

使用系统命令是一项危险的操作,尤其在你试图使用远程数据来构造要执行的命令时更是如此.如果使用了被污染数据,命令注入漏洞就产生了.exec()是用于执行shell命令的函数.它返回执行并返回命令输出的最后一行,但你可以指定一个数组作为第二个参数,这样输出的每一行都会作为一个元素存入数组.使用方式如下: 复制代码 代码如下: <?php$last = exec('ls', $output, $return);print_r($output);echo "Return [$return]&quo

PHP防止注入攻击实例分析_php技巧

本文以实例形式详细分析了PHP防止注入攻击的方法.分享给大家供大家参考.具体分析如下: PHP addslashes() 函数--单撇号加斜线转义 PHP String 函数 定义和用法 addslashes() 函数在指定的预定义字符前添加反斜杠. 这些预定义字符是:  单引号 (')  双引号 (")  反斜杠 (\)  NULL语法: addslashes(string) 参数  描述 string 必需.规定要检查的字符串. 提示和注释 提示:该函数可用于为存储在数据库中的字符串以及数据

Php中用PDO查询Mysql来避免SQL注入风险的方法_php技巧

当我们使用传统的 mysql_connect .mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制.虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷.而使用PHP的PDO扩展的 prepare 方法,就可以避免sql injection 风险. PDO(PHP Data Object) 是PHP5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连

PHP+apc+ajax实现的ajax_upload上传进度条代码_php技巧

本文实例讲述了PHP+apc+ajax实现的ajax_upload上传进度条代码.分享给大家供大家参考,具体如下: 上传进度条是怎么实现的呢?原理是怎么样的呢?当我们浏览,选择上传后,会产生一个临时文件,上传的时把这个临时文件,上传到服务器,上传完成后,这个临时文件会被删除掉.如果我们能读取这个临时文件的大小,就知道上传进度是多少了,php apc模块可以实现这个功能. 一.安装apc模块 下载地址:http://pecl.php.net/package/apc tar zxvf APC-3.1