二十七:XSS跨站之程式碼及httponly繞過

itread01 2021-01-23 14:20:32
xss 程式 二十 十七 二十七


![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123085721174-937912649.png)**httponly:如果給某個 cookie 設定了 httpOnly 屬性,則無法通過 JS 指令碼 讀取到該 cookie 的資訊,但還Application 中手動修改 cookie,所以只是在一定程度上可以防止 XSS 攻擊,不是絕對的安全**### 雖然設定了httponly之後拿不到cookie,但是還是存在xss跨站語句,阻止的僅僅是獲取cookie 可以直接拿賬號密碼,cookie登入. 瀏覽器未儲存讀取密碼:需要xss產生於登入地址,利用表單劫持 瀏覽器儲存賬號面:產生在後臺的XSS,例如儲存型XSS### 手工判斷xss跨站漏洞:#### 第一關:![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123085940054-143798845.png)#### 第二關:![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090049932-1303317658.png) 被轉義,檢視原始碼。![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090100239-961200321.png) 存在htmlsecialchars()函式:![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090110702-2001815656.png) 把符號轉換為實體化標籤,xss經常過濾的情況![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090128238-450664930.png)#### 第二關: 閉合前面的雙引號,">#### 第三關:![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090258747-2074125647.png) 還是對<>進行了轉義,利用表單的滑鼠點選屬性。 'onclick='alert(1)![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090306993-850658948.png)#### 第四關: ![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090315683-2143932232.png)#### 第五關: 在關鍵字onclick過濾,on_click 藉助a herf屬性,自己建立一個javascript程式碼 ">![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090326420-581605605.png)#### 第六關: 繼續用第五關的程式碼,發現herf被過濾,檢視原始碼。![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090339419-64654933.png) 關鍵字都被過濾,使用大寫替繞過 ">![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090347432-1608818795.png)#### 第七關: ![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090354604-1019862577.png) 和upload-labs一樣,程式碼並無迴圈過濾,因此可以雙寫繞過 ![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090402366-230537430.png)#### 第八關: 大小寫,雙寫均不行,替換為unicode編碼 ![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090410390-231641056.png)![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090418505-1717605893.png) #### 第九關: 這一關不看程式碼幾乎很難完成,程式碼會檢測是否存在http:// ![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090425562-517578300.png)![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090435001-972601335.png) #### 第十關: &t_sort="type="="type="text"onclick="alert(1)"![](https://img2020.cnblogs.com/blog/2265061/202101/2265061-20210123090442600-1015359168.png) 檢視原始碼,發現屬性為hidden,被隱藏了。 #### 第十一關: http referer 頭,檢測來源。 瀏覽器會檢測此JS程式碼是否來 CSRF跨站請求指令碼,檢測來源。管理員在登入狀態的情況下,登入時觸發了一串新增管理員賬號的密碼,此時則會新增管理員。 檢測來源,也就是瀏覽器的同源策略,看看是否來自同一個域名,不是同一個域名的不接受 token驗證會解決這個問題 此關卡在referer頭輸入&t_sort="type="="type="text"onclick="alert(1)"#### 第十二關: 檢測user-agent aizhan網也存在跨站 後面的關卡也是各種隱藏的屬性,基本都是類似的,不在一一
版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://www.itread01.com/content/1611373682.html

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云