对sql注入、xss有多少了解?
sql注入(自由发挥,这一处可以参考第二条):
盲注(延时、布尔)、联合、堆叠、报错
xss:反射、存储、DOM(自由发挥,这一处可以参考第十条):
前两者恶意HTML/JS代码直接回显在页面源码,而DOM不会,在js运行过程中、html渲染过程中触发恶意代码或生成了恶意代码然后触发。
sql盲注常用函数有哪些?手工注入常见思路?堆叠注入是啥?sql注入是怎么防御的,过滤还是转码?
关于sql注入的问题大致从 mysql、oracle巩固,记一下函数名、用法
oracle 建议看这篇:[少年,这是我特意为你酿制的Oracle 注入,干了吧!_白帽子技术/思路_i春秋社区-分享你的技术,为安全加点温度.]{.underline} utl_inaddr.get_host_name() ,ctxsys.drithsx.sn(),XMLType(),dbms_xdb_version.checkin(),dbms_xdb_version.makeversioned(),dbms_xdb_version.uncheckout(),dbms_utility.sqlid_to_sqlhash(),ordsys.ord_dicom.getmappingxpath() ,decode进行报错注入,这种方式更偏向布尔型注 -----报错
使用decode函数进行布尔盲注,substr(user,1,1)是条件,'S'是要遍历的位置,如果匹配便返回翻译值1,否则使用默认值0
http://10.10.10.110:8080/SqlInjection/selcet?suser=1&sname=1'and 1=(select decode(substr(user,1,1),'S',(1),0) from dual) --
使用instr进行布尔盲注 instr会返回'SQL'位置数据在,查询结果中的位置,未找到便返回0,可以通过对'SQL'位置进行遍历和迭代,获取到数据 ------盲注
DBMS_PIPE.RECEIVE_MESSAGE('任意值',延迟时间)---时间盲注
mysql 建议看这个:MySQL注入总结 - 简书
手工注入思路总结:
堆叠注入,服务端接收数据时可以执行执行多条sql语句。
sql注入防御:
过滤、转码都可以,都是在代码层面做判断,最好的解决办法是预处理、参数绑定,这样的话前端传入的数据不会被解析成sql关键字,也就不会产生sql注入。
sqlmap命令、怎么绕过防火墙、反弹shell的命令
1.常见命令、参数简单记一下
-u 指定url
-r 指定数据包文件
--dbms 指定数据库型号,可指定多个用逗号隔开
--level 指定payload等级
--risk 指定测试风险等级
--proxy 指定代理
--ignore-proxy 忽略代理
-D -T -C 分别指定对应库、表、字段
--dbs 列出当前数据库
--tamper 指定调用过滤脚本
-
怎么绕过防火墙? 调用自身的tamper 脚本,原理就是 内联注释、大小写、根据服务器特性的URL编码/其它方式 一次或多次编码、寻找SQL替代函数来绕过恶意函数检测
-
反弹shell ?--os-shell 前提是注入点支持堆叠注入
csrf和ssrf的区别、危害?csrf token绕过方法?
csrf是在浏览器层面借用正常用户的本地认证信息去完成恶意操作。
ssrf由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要探测目标网站的内部系统构造分布,也可以结合一些协议达到数据读取/命令执行。
csrf token绕过?
-
如果token放在请求头参数值/body参数/url里,尝试直接删除该参数或让该参数为空
-
尝试token复用或者结合jsonp先拿到csrf-token再进行后续攻击
weblogac框架漏洞?
建议了解一下这篇文章:
Weblogic漏洞——从入门到放弃 - FreeBuf网络安全行业门户
只要知道原理/利用过程就行,别被代码分析吓到,,,,
tomcat默认端口?tomcat后台爆破?
tomcat-web服务端口默认8080、tomcat-ajp协议端口默认8009
tomcat后台有三个:Server Status、Manager App、Host Manager,都是基于HTTP BASIC认证,爆破时直接把账户密码信息经过base64编码添加到请求头"Authorization"里面就可以爆破了
如下图所示:
格式就是 Basic+user:pass的base64编码
应急响应流程?
大致记一下主要流程
用过哪些企业漏扫设备?
最常见的就是绿盟的极光、启明星辰的天镜、建议说一下NESSUS,接触这个一般比较多
常见web漏洞原理?漏洞在哪个方面产生的?漏洞利用方法
除去常见的xss、sql、csrf、ssrf、上传,还有 jsonp 劫持、cors错误配置、idor(越权)
以下文章都是比较详细的,建议浏览并简要记忆原理和利用方法。
jsonp劫持(中间件层面):
CORS 错误配置(中间件层面):
绕过浏览器SOP,跨站窃取信息:CORS配置安全漏洞报告及最佳部署实践 | Jianjun Chen | International Computer Science Institute | Network Security#1-1-%E4%BB%8E-sop-%E5%88%B0-cors
IDOR(后端代码层面):
常见xss-payload有哪些?常见过滤函数?
如果要payload直接百度,下面是一些总结
XSS首先看输出点:
-
输出点在 属性值内,比如 <input type="text" value="输出点">,这种情况看 首先看双引号是否可用,如果可用再看尖括号是否可用
可用-> 灵活性很大,相当于直接写入任意的html标签和js事件
不可用-> 构造一个当前标签的支持的js事件,比如input支持的 onmouse*、onfocus等等
-
输出点在js 域内,比如最常见的 var xx ='输出点'; 确定单引号、双引号是否过滤,这个根据实际包裹情况来看,然后看 //或/*、; 是否过滤。
常见过滤函数,php 中的 strip_tags、htmlspecialchars
xxe简单描述下,顺便说下漏洞危害与如何防御?
XXE漏洞就是指某些应用程序可以允许XML格式的数据输入并解析,攻击者可以通过引入外部实体的方式来进行攻击。常见的XXE漏洞危害有任意文件读取,端口探测,DDOS攻击,SSRF攻击等,常见的防御方式有禁用外部实体和过滤XML文件中的敏感字段。
ssrf挖掘和防御?
答:SSRF常见的挖掘思路可以通过指定URL地址获取网页文本内容、加载指定地址的图片、下载以及上传和分享等处来进行挖掘。
SSRF的修复方式可以通过针对协议只允许当前业务场景下的传输协议;以及可以采取白名单,限制内网Ip;并且对返回内容进行识别。
常见文件包含有哪几种?
远程文件包含、本地文件包含
sqlserver常见端口?
1433端口,是SQL Server默认的端口,SQL Server服务使用两个端口:TCP-1433、UDP-1434。其中1433用于供SQL Server对外提供服务,1434用于向请求者返回SQL Server使用了哪个TCP/IP端口。
ssrf原理及内网端口探测方式?
答:原理是伪造服务端发起的请求,通过该方式可以去利用服务端的便捷性探测内网端口和敏感漏洞。根据SSRF类型的不同可以通过报错以及延时等方式来进行判断端口是否开放。
说说天眼的基本操作?天眼怎么判断别人sql注入是否成功?
答:天眼通过接受探针设备的全流量镜像来进行解析原始数据并按照攻击类型将数据流量进行分类别显示。
burp进行爆破密码如何两次编码?
答:先根据密码字段格式加载对应的密码字典,再利用Payload Processing表单来对加载的密码字典进行二次编码处理。
java反序列化常见漏洞利用方式?
答:通过对应的gadgets来生成相应的序列化恶意数据包进行反弹shell以及执行命令等。
作为攻击方的时候拿过什么分数?
答:拿到过获取内网运维主机权限的分数。 外网拿下边界机打内网。
如果被别人留了后门怎么溯源
答:通过D盾等webshell检测工具来进行检测后门。以及通过流量审计和日志分析来进行判断攻击者可能存放的后门。
存储型xss提取数据时使用的函数?
答:非IE浏览器建议直接使用fetch函数,将想要的数据直接通过URL或者放在跨域请求中的body里发到远程恶意服务器。
IE浏览器 同理, 使用 ajax ,示例代码如下:
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","resolveInfo.jsp",true);
xmlhttp.send();
思路就是发送一个http请求,把想要的数据带出去。
做基础评估时怎么开始工作的?
答:先对客户对应的资产进行梳理,再按照人员管理,资产风险等多个方面去进行安全评估。
#