Web编程语言,根据解释执行的位置可以分为前端语言和后端语言。Web前端语言是指在浏览器上解释执行的Web编程语言,包括TL,JS等。Web后端语言是指在Web服务器上解释执行的Web编程语言,包括JSP、PHP、ASP、ASP.NET、Python、Golang等。
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个T页面。为了处理一个请求,Teb服务器可以响应一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端技术。无论它们(脚本)的目的如何,这些服务器端的程序通常产生一个TML的响应来让浏览器可以浏览。
与认证和会话管理相关的应用函数经常被错误地实现,从而允许攻击者破坏密码、密钥或是会话令牌,或者利用其他的应用漏洞来暂时或永久地获取用户身份信息。
以下情况可能产生漏洞:
许多web应用程序和APl不能正确的保护敏感数据,如金融、医疗保健和PII(个人身份信息)等。
攻击者可能会窃取或算改这些弱保护的数据,从而进行信用卡欺诈、身份盗窃或其他犯罪行为。在缺少额外保护(例如,在存放和传输过程中加密,且在与浏览器进行交换时需要特别谨慎)的情况下,敏感数据可能会受到损害。
许多过时的或配置不当的XL处理器在L文档内进行外部实体引用。外部实体可用于泄露内部文件,通过使用文件URI处理器、内部文件共享、内部端口扫描、远程代码执行以及拒绝服务攻击等手段。
限制“认证的用户可以实现哪些操作”的命令没有得到正确的执行。攻击者可以利用这些漏洞访问未经授权的功能和数据,例如访问其他用户的账户,查看敏感文件,靠改其他用户的数据,更改访问权限等。
安全配置错误是最常见的问题。这通常是由不安全的默认配置,不完整配置,开放云存储,错误配置的HTTP标头,以及包含敏感信息的详细错误信息造成的。所有的操作系统、框架、库、应用程序都需要进行安全配置外,还必须要及时进行系统更新和升级。
如果应用程序在未经适当验证或转义的情况下,能够在新网页中包含不受信任的数据,或是使用可以创建HTML或者JavaScript的浏览器API更新包含用户提供的数据的现有网页,就会出现XSS漏洞。XSS允许攻击者在受害者的浏览器中执行脚本,这些脚本可以劫持用户会话、破坏网站或将用户重定向到恶意网站中。
不安全的反序列化漏洞通常会导致远程代码执行问题。即使反序列化错误不会导致远程代码执行,也可以被用来执行攻击,包括重放攻击、注入攻击以及权限提升攻击等。
组件(如库、框架和其他软件模块)是以与应用程序相同的权限运行的。如果存在漏洞的组件被利用,这种攻击可能会导致严重的数据丢失或服务器接管危机。使用己知漏洞组件的应用程序和API可能会破坏应用程序的防御系统,从而启动各种形式的攻击,造成更为严重的影响。
不足的记录和监控漏洞,再加上事件响应能力欠缺以及缺少有效的整合,使得攻击者可以进一步攻击系统,维持其持久性,转而攻击更多的系统,并慕改、提取或销毁数据。大部分的数据泄露研究显示,检测出发生数据浪漏的时间通常需要超过200天,而且通常是外部机构率先发现数据泄漏的事实,而不是通过内部的审计流程或监控发现的。
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
Burp Suite是用于攻击web应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP消息、持久性、认证、代理、日志、警报。
SQLmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的RL的SQL注入漏洞,目前支持的数据库是MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBMDB2,SQLite,Firebird,Sybase和SAP MaxDB.采用五种独特的SQL注入技术
按照官方网站的定义,KaliLinux是一个高级渗透测试和安全审计Linux发行版。作为使用者,简单的把它理解为,一个特殊的Linux发行版,集成了精心挑选的渗透测试和安全审计的工具,供渗透测试和安全设计人员使用。也可称之为平台或者框架。
黑客在入侵了一个网站后,通常会留下一个asp或php后门文件与网站reb服务器进行交互,得到一个命令执行环境,以达到控制网站服务器的目的。这个后门文件就是所谓的webshell。
传统意义上的shell指的是命令行式的shel1,以后如果不特别注明,shel1是指命令行式的shel1,口类别:
常见文件上传检测方式:
web应用系统虽然对用户上传的文件进行了校验,但是校验是通过前端JavaScript代码完成的。由于恶意用户可以对前端JavaScript进行修改或者是通过抓包软件靠改上传的文件,就会导致基于JavaScript的校验很容易被绕过。
绕过方法:
00截断的两种利用方式:
在windows环境下,xx.jpg[空格]或xx.jpg.这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,黑客可以通过抓包,在文件名后加一个空格或者点绕过黑名单.若上传成功,空格和点都会被windows自动消除,这样也可以getshell
图片渲染检测
绕过方式:
htaccess写入
解析漏洞主要是一些特殊文件被IIS、Apache、Nginx等服务在某种情况下解释成脚本文件格式并得以执行而产生的漏洞。