백엔드 개발 PHP 튜토리얼 细谈php中SQL注入攻击与XSS攻击_PHP

细谈php中SQL注入攻击与XSS攻击_PHP

Jun 01, 2016 pm 12:12 PM
SQL 인젝션 공격 xss 공격

例如: SQL注入攻击
XSS攻击
复制代码 代码如下:
任意执行代码
文件包含以及CSRF.
}


关于SQL攻击有很多文章还有各种防注入脚本,但是都不能解决SQL注入的根本问题
见代码:

复制代码 代码如下:
mysql_connect("localhost","root","123456")or die("数据库连接失败!");
mysql_select_db("test1");
$user=$_post['uid'];
$pwd=$_POST['pass'];
if(mysql_query("SELECT * from where
admin
= `username`='$user' or `password`='$pwd'"){
echo "用户成功登陆..";
} eles {
echo "用户名或密码出错";
}
?>

很简单的一段代码,功能是用于检测用户名或密码是否正确,可是在一些恶意攻击者中提交一些敏感代码.后果可想而知.. post判断注入的方式有2种。
1.在form表单的文本框输入 "or‘1'=1"或者"and 1=1"
在查询数据库的语句就应该是:
SELECT admin from where login = `user`=''or‘1'=1' or `pass`=‘xxxx'
当然也不会出现什么错误,因为or在sql的语句中代表和,或的意思。当然也会提示错误。
当时我们已经发现了可以执行SQL语句之后就可以查询当前表的所有信息。例如:正确的管理员账户和密码进行登录入侵。。
修复方式1:
使用javascript脚本过滤特殊字符(不推荐,指标不治本)
如果攻击者禁用了javascript还是可以进行SQL注入攻击。。
修复方式2:
使用mysql的自带函数进行过滤。
见代码:
复制代码 代码如下:
// 省略连接数据库等操作。。
$user=mysql_real_escape_string($_POST['user']);
mysql_query("select * from admin whrer `username`='$user'");
?>

既然前面说道了xss攻击,我们再来说说XSS攻击以及防范吧。。
提交表单:
复制代码 代码如下:






接收文件:
复制代码 代码如下:
if(empty($_POST['sub'])){
echo $_POST['test'];
}

很简单的一段代码,在这里只是模拟了下使用场景..
加入攻击者提交
<script>alert(document.cookie);</script>
在返回的页面就应该显示当前页面的cookie信息。
我们可以运用到某些留言板上(提前是没过滤的),然后当管理员审核改条信息时盗取COOKIE信息,并发送到攻击者的空间或者邮箱。。攻击者可以使用cookie修改器进行登陆入侵了。。
当然解决方案也有很多。。下面就介绍一个最常用的方式吧。
修复方案1:使用javascript进行转义
修复方案2:使用php内置函数进行转义
代码如下:
[code]
if(empty($_POST['sub'])){
$str=$_POST['test'];
htmlentities($srt);
echo $srt;
}
[html]
好了,关于SQL注入攻击和XSS攻击的案例与修复方法就讲的差不多了。
当然还有其他的解决方法:
例如:使用php框架
还有其他的一些方法。。当然了,XSS的运用范围与攻击方式很多也很广。本文只针对php的提交方式进行过滤,还有其他的需要自己去研究 ^_^~
此文出此:Aey uhost team(team.hake.cc),转载请带上版权。

y0umer
2012/6/7
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP를 사용하여 XSS(교차 사이트 스크립팅) 공격으로부터 보호하는 방법 PHP를 사용하여 XSS(교차 사이트 스크립팅) 공격으로부터 보호하는 방법 Jun 29, 2023 am 10:46 AM

PHP를 사용하여 XSS(교차 사이트 스크립팅) 공격을 방어하는 방법 인터넷의 급속한 발전과 함께 XSS(교차 사이트 스크립팅) 공격은 가장 일반적인 네트워크 보안 위협 중 하나입니다. XSS 공격은 주로 웹 페이지에 악성 스크립트를 삽입하여 사용자의 민감한 정보를 획득하고 사용자 계정을 도용하는 목적을 달성합니다. 사용자 데이터의 보안을 보호하려면 개발자는 XSS 공격을 방어하기 위한 적절한 조치를 취해야 합니다. 이 기사에서는 XSS 공격을 방어하기 위해 일반적으로 사용되는 몇 가지 PHP 기술을 소개합니다.

PDO 전처리를 사용하여 SQL 주입 공격을 방지하는 방법 PDO 전처리를 사용하여 SQL 주입 공격을 방지하는 방법 Jul 28, 2023 pm 11:18 PM

SQL 주입 공격을 방지하기 위해 PDO 전처리를 사용하는 방법 소개: 웹 개발 중에 데이터베이스와 상호 작용해야 하는 경우가 많습니다. 그러나 잘못된 데이터베이스 쿼리 작업은 심각한 보안 위험을 초래할 수 있으며, 가장 널리 악용되는 공격 방법 중 하나는 SQL 삽입 공격입니다. SQL 주입 공격을 방지하기 위해 PDO는 전처리 메커니즘을 제공합니다. 이 기사에서는 PDO 전처리를 올바르게 사용하는 방법을 소개합니다. SQL 주입 공격이란: SQL 주입은 공격자가 사용하는 데이터베이스에 대한 공격 기술입니다.

SQL 주입 공격을 방지하는 방법은 무엇입니까? SQL 주입 공격을 방지하는 방법은 무엇입니까? May 13, 2023 am 08:15 AM

인터넷의 인기와 애플리케이션 시나리오의 지속적인 확장으로 인해 우리는 일상 생활에서 데이터베이스를 점점 더 자주 사용합니다. 그러나 데이터베이스 보안 문제에 대한 관심도 높아지고 있습니다. 그 중 SQL 인젝션 공격은 흔하고 위험한 공격 방법이다. 이번 글에서는 SQL 인젝션 공격의 원리와 폐해, 그리고 SQL 인젝션 공격을 예방하는 방법을 소개합니다. 1. SQL 인젝션 공격의 원리 SQL 인젝션 공격은 일반적으로 해커가 특정 악성 입력을 구성하여 애플리케이션에서 악의적인 SQL 문을 실행하는 행위를 의미합니다. 이러한 행동은 때때로 다음과 같은 결과를 초래합니다.

XSS 취약점은 어떻게 작동하나요? XSS 취약점은 어떻게 작동하나요? Feb 19, 2024 pm 07:31 PM

XSS 공격의 원리는 무엇입니까? 인터넷의 대중화와 발전으로 인해 웹 애플리케이션의 보안이 점차 주목을 받고 있습니다. 그중 Cross-SiteScripting(줄여서 XSS)은 웹 개발자가 주의해야 할 일반적인 보안 취약점입니다. XSS 공격은 웹 페이지에 악성 스크립트 코드를 주입하고 이를 사용자의 브라우저에서 실행하는 방식으로 수행됩니다. 이를 통해 공격자는 사용자의 브라우저를 제어하고 사용자의 민감한 정보를 탈취할 수 있습니다.

PHP 데이터 필터링: XSS 및 CSRF 공격 방지 PHP 데이터 필터링: XSS 및 CSRF 공격 방지 Jul 29, 2023 pm 03:33 PM

PHP 데이터 필터링: XSS 및 CSRF 공격 방지 인터넷이 발전하면서 네트워크 보안은 사람들의 관심의 초점 중 하나가 되었습니다. 웹 사이트 개발에서는 특히 XSS(교차 사이트 스크립팅 공격) 및 CSRF(교차 사이트 요청 위조 공격) 공격을 방지하기 위해 사용자가 제출한 데이터를 필터링하고 확인하는 것이 매우 중요합니다. 이 기사에서는 PHP를 사용하여 이러한 두 가지 일반적인 보안 취약점을 방지하는 방법을 설명하고 참조용 샘플 코드를 제공합니다. XSS 공격 방지 XSS 공격은 악의적인 공격자가 악의적인 스크립트나 코드를 주입하여 변조하는 것을 말합니다.

SQL 주입 공격 방지: Java 애플리케이션 데이터베이스를 보호하기 위한 보안 전략 SQL 주입 공격 방지: Java 애플리케이션 데이터베이스를 보호하기 위한 보안 전략 Jun 30, 2023 pm 10:21 PM

데이터베이스 보안: SQL 주입 공격으로부터 Java 애플리케이션을 보호하기 위한 전략 요약: 인터넷이 발전하면서 Java 애플리케이션은 우리의 삶과 업무에서 점점 더 중요한 역할을 하고 있습니다. 그러나 동시에 데이터베이스 보안 문제가 점점 더 두드러지고 있습니다. SQL 주입 공격은 가장 흔하고 파괴적인 데이터베이스 보안 취약점 중 하나입니다. 이 기사에서는 SQL 주입 공격의 위협으로부터 Java 애플리케이션을 보호하기 위한 몇 가지 전략과 조치를 소개합니다. 1부: SQL 주입 공격이란 무엇입니까? SQL 주입

Java 개발의 일반적인 네트워크 보안 문제 및 솔루션 Java 개발의 일반적인 네트워크 보안 문제 및 솔루션 Oct 09, 2023 pm 06:36 PM

Java 개발 시 일반적인 네트워크 보안 문제 및 솔루션 요약: 인터넷이 대중화되면서 네트워크 보안 문제가 점점 더 두드러지고 있습니다. Java 개발 중에는 네트워크 통신의 보안을 보호하는 방법을 고려해야 합니다. 이 기사에서는 몇 가지 일반적인 네트워크 보안 문제를 소개하고 해당 솔루션과 코드 예제를 제공합니다. 1. 크로스 사이트 스크립팅 공격(XSS) XSS 공격은 웹 페이지에 악성 스크립트를 주입해 사용자의 민감한 정보를 탈취하는 공격 방식을 말한다. XSS 공격을 방지하기 위해 정기적인 입력 확인을 사용할 수 있습니다.

PHP 데이터베이스 연결 보안: SQL 삽입 공격을 방지하는 방법 PHP 데이터베이스 연결 보안: SQL 삽입 공격을 방지하는 방법 Sep 09, 2023 am 10:41 AM

PHP 데이터베이스 연결 보안: SQL 주입 공격을 방지하는 방법 소개: 웹 애플리케이션을 개발하는 과정에서 데이터베이스는 매우 중요한 구성 요소 중 하나입니다. 그러나 부정확하거나 안전하지 않은 데이터베이스 연결로 인해 악의적인 사용자가 SQL 주입 공격을 수행할 수 있으며, 이는 당사 애플리케이션의 보안을 심각하게 위협할 수 있습니다. SQL 주입 공격으로부터 애플리케이션을 보호하려면 몇 가지 보안 조치를 취해야 합니다. 이 기사에서는 일반적으로 사용되는 PHP 데이터베이스 연결 보안 방법을 소개하고 해당 코드 예제를 제공합니다. 1. 만들다

See all articles