日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CSRF, XSS, Sql注入原理和处理方案

發布時間:2025/3/20 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSRF, XSS, Sql注入原理和处理方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CSRF

  • 含義

CSRF(Cross-site request forgery)跨站請求偽造,也被稱為“One Click Attack”或者Session Riding,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用。盡管聽起來像跨站腳本(XSS),但它與XSS非常不同,XSS利用站點內的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF攻擊往往不大流行(因此對其進行防范的資源也相當稀少)和難以防范,所以被認為比XSS更具危險性。

  • 場景模擬
  • a欠b 1000元錢,?在銀行轉賬給b,? a的瀏覽器執行的操作是: http://www.bank.com/transfer.php?from=a&money=1000&to=b
  • 這個時候,c想要攻擊a,他執行了下面的代碼http://www.bank.com/transfer.php?from=Alice&money=9999&to=Cathy 當然,結果是失敗的,瀏覽器會記住a的session_id,而c通過瀏覽器的cookie帶過去的session_id當然不是a的,所以失敗。
  • c又想了一個方法, 寫了一個網頁, 訪問方法是:www.c.com/choujiang.p…, 用抽獎來吸引a, choujiang.php的代碼是:
  • <html> <body> <form method="get" action="http://www.bank.com/transfer.php"><input type="hidden" name="from" value="a"><input type="hidden" name="money" value="1000"><input type="hidden" name="to" value="c"><input type="button" onclick="submit()" value="活動抽獎"> </form> </body> </html> 復制代碼
  • 只要a點擊了http://www.c.com/choujiang.php, 就會在自己的瀏覽器頁面顯示一個抽獎按鈕。? 如果a剛給b轉賬完畢, 又點擊了這個抽獎按鈕, 就相當于a的瀏覽器發起了如下請求: http://www.bank.com/transfer.php?from=a&money=1000&to=c 這時, 銀行后臺服務器從http的cookie中識別出確實是a在轉賬給c, 是合理操作。但是,a并不知情
  • XSS(可以分為反射型xss攻擊和存貯型xss攻擊)

    • 含義

    XSS攻擊全稱跨站腳本攻擊,是為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS,XSS是一種在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。

    • 場景模擬
  • 反射型xss攻擊 正常發送消息: http://www.test.com/message.php?send=Hello 接收者將會接收信息并顯示Hello 非正常發送消息: http://www.test.com/message.php?send=<script>alert(‘foolish!’)</script> 這時接收者的窗口就會彈出foolish彈窗。 以上,只是簡單的示例,實際上,xss攻擊可以做得更加復雜,竊取用戶賬號密碼也是正常的

  • 存貯型xss攻擊 在輸入框里填寫you are foolish! 那么表單里要發送的的input框就會變成這樣 <input type=“text” name=“content” value="you are foolish!"> 不做任何過濾的話,這個會當成正常數據入庫 當要用到這個數據,從庫取出來的時候,就會出現you are foolish的彈窗。

  • SQL注入

    • 含義

    所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意的)SQL命令注入到后臺數據庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。比如先前的很多影視網站泄露VIP會員密碼大多就是通過WEB表單遞交查詢字符暴出的,這類表單特別容易受到SQL注入式攻擊.

    • 場景模擬
  • 和存貯型xss攻擊的例子本質上是一樣的
  • 假如現在php的登錄代碼是這樣的 $sql = "select * from user where username = 'a' and pwd = md5(123456) 然后在前端密碼的輸入框里填寫' or 1 = 1#,那么sql語句就會變成$sql = "select * from user where username = '' or 1 = 1#' and pwd = md5(123456) #在sql的意思是注釋,后面的sql不會再執行 所以,$sql = "select * from user where username = '' or 1 = 1 登錄成功。
  • 轉載于:https://juejin.im/post/5c03bc6b6fb9a049b347ba1e

    總結

    以上是生活随笔為你收集整理的CSRF, XSS, Sql注入原理和处理方案的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。