细谈php中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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用PHP防禦跨站腳本(XSS)攻擊隨著互聯網的快速發展,跨站腳本(Cross-SiteScripting,簡稱XSS)攻擊是最常見的網路安全威脅之一。 XSS攻擊主要是透過在網頁中註入惡意腳本,從而實現獲取用戶敏感資訊、盜取用戶帳號等目的。為了保護使用者資料的安全,開發人員應該採取適當的措施來防禦XSS攻擊。本文將介紹一些常用的PHP防禦XSS攻擊的技術

如何使用PDO預處理防止SQL注入攻擊引言:在進行Web開發過程中,我們經常需要與資料庫互動。然而,不正確的資料庫查詢操作可能導致嚴重的安全風險,其中一種被廣泛利用的攻擊方式就是SQL注入攻擊。為了防止SQL注入攻擊,PDO提供了一個預處理機制,本文將介紹如何正確地使用PDO預處理。什麼是SQL注入攻擊:SQL注入是一種針對資料庫的攻擊技術,攻擊者透過在

隨著網路的普及和應用場景的不斷拓展,我們在日常生活中使用資料庫的次數越來越多。然而,資料庫安全問題也越來越受到重視。其中,SQL注入攻擊是一種常見且危險的攻擊方式。本文將介紹SQL注入攻擊的原理、危害、如何防範SQL注入攻擊。一、SQL注入攻擊的原理SQL注入攻擊一般指駭客透過建構特定的惡意輸入,在應用程式中執行惡意SQL語句的行為。這些行為有時候會導致

資料庫安全性:保護Java應用程式免受SQL注入攻擊的策略摘要:隨著網際網路的發展,Java應用程式在我們的生活和工作中扮演著越來越重要的角色。然而,同時,資料庫的安全性問題也日益凸顯。 SQL注入攻擊是最常見且最具破壞性的資料庫安全漏洞之一。本文將介紹一些策略和措施,以保護Java應用程式免受SQL注入攻擊的威脅。第一部分:什麼是SQL注入攻擊? SQL注入

XSS攻擊原理是什麼,需要具體程式碼範例隨著網路的普及和發展,網路應用程式的安全性逐漸成為人們關注的焦點。其中,跨站腳本攻擊(Cross-SiteScripting,簡稱XSS)是一種常見的安全漏洞,對於Web開發人員而言必須要重視。 XSS攻擊是透過向Web頁面注入惡意的腳本程式碼,從而在使用者的瀏覽器中執行,讓攻擊者可以控制使用者的瀏覽器,取得使用者的敏感信

PHP資料過濾:預防XSS和CSRF攻擊隨著網路的發展,網路安全成為人們關注的焦點之一。在網站開發中,對於使用者提交的資料進行過濾和驗證是非常重要的,尤其是預防XSS(跨站腳本攻擊)和CSRF(跨站請求偽造攻擊)攻擊。本文將介紹如何使用PHP來防止這兩種常見的安全漏洞,並提供一些範例程式碼供參考。預防XSS攻擊XSS攻擊是指惡意攻擊者透過注入惡意腳本或程式碼來篡

隨著網路的快速發展,網站安全問題已經成為了網路世界中的一大難題。跨網站腳本(XSS)攻擊是一種常見的安全漏洞,它利用網站的弱點,將惡意腳本注入到網頁中,從而對使用者的資訊進行竊取和篡改。 Go語言作為一種高效、安全的程式語言,為我們提供了強而有力的防範XSS攻擊的工具和技巧。本文將介紹一些最佳實踐和技巧,幫助Go語言開發者有效地預防和解決XSS攻擊。對所有輸入進

PHP資料庫連接安全性:防止SQL注入攻擊的方法引言:在開發網頁應用程式的過程中,資料庫是非常重要的元件之一。然而,不正確或不安全的資料庫連線可能會導致惡意使用者進行SQL注入攻擊,這將嚴重威脅我們的應用程式的安全性。為了保護應用程式免受SQL注入攻擊的影響,我們需要採取一些安全措施。本文將介紹一些常用的PHP資料庫連接安全方法,並給出對應的程式碼範例。一、使
