本文章简单的讲述了关于在php中防xss攻击和sql注入详解,有需了解的朋友可以参考一下下.
XSS攻击实例代码如下:
任意执行代码 文件包含以及CSRF. }
关于SQL攻击有很多文章还有各种防注入脚本,但是都不能解决SQL注入的根本问题
实例代码如下:
<?php 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的自带函数进行过滤.
实例代码如下:
<?php // 省略连接数据库等操作.. $user=mysql_real_escape_string($_POST['user']); mysql_query("select * from admin whrer `username`='$user'"); ?>
既然前面说道了xss攻击,我们再来说说XSS攻击以及防范吧..
提交表单实例代码如下:
<form method="post" action=""> <intup tyep="text" name="test"> <intup tyep="submit" name="sub" value="提交"> </form>
接收文件实例代码如下:
if(emptyempty($_POST['sub'])){ echo $_POST['test']; }
很简单的一段代码,在这里只是模拟了下使用场景..
加入攻击者提交实例代码如下:
<script>alert(document.cookie);</script>
在返回的页面就应该显示当前页面的cookie信息.
我们可以运用到某些留言板上(提前是没过滤的),然后当管理员审核改条信息时盗取COOKIE信息,并发送到攻击者的空间或者邮箱..攻击者可以使用cookie修改器进行登陆入侵了..
当然解决方案也有很多..下面就介绍一个最常用的方式吧.
修复方案1:使用javascript进行转义
修复方案2:使用php内置函数进行转义
实例代码如下:
if(emptyempty($_POST['sub'])){ $str=$_POST['test']; htmlentities($srt); echo $srt; }
好了,关于SQL注入攻击和XSS攻击的案例与修复方法就讲的差不多了.
文章地址:
转载随意^^请带上本文地址!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

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

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

뜨거운 주제



