1. SQL注入:别再傻傻分不清,一文搞懂原理、种类和防御!
- 原理:老司机都知道,SQL注入就是利用后端程序对前端输入的数据不设防,让恶意SQL代码混入其中,直接在数据库里“搞事情”。
- 种类:花样贼多,字符型、数字型、布尔型、报错型、延时型、联合查询、堆叠注入,甚至还有宽字节、XFF注入,简直是“百花齐放”!
- 防御:想防住SQL注入?预编译必须安排上!还有PDO、正则表达式过滤、开启魔术引号、WAF统统不能少。
- 预编译原理:预编译就像给SQL查询加了个“防火墙”。第一次交互先发查询模板,让SQL引擎解析成AST或Opcode,第二次再把数据填进去。这样一来,无论你输入什么“妖魔鬼怪”,都只会被当成普通字符串处理,SQL注入?不存在的!
2. XSS:听说你还分不清存储型、反射型和DOM型?看完这篇秒懂!
- 种类:XSS家族三大成员:存储型、反射型、DOM型。
- 区别:存储型XSS,就像埋在数据库里的“地雷”,只要有人访问,就会boom!反射型XSS,藏在URL里,诱骗用户点击就中招。DOM型XSS更隐蔽,直接在浏览器DOM节点里搞事情。简单来说,存储型和反射型都要经过服务器“过一手”,而DOM型是纯前端操作。
- 修复:对输入数据进行Html Encode编码,建立白名单,过滤JS事件标签,开启HttpOnly,再加个WAF,基本就稳了。
3. XSS、CSRF、SSRF:面试官最爱问的“三兄弟”,这次彻底搞定!
- XSS(跨站脚本攻击):服务器对用户输入的数据不够“警惕”,导致恶意脚本在用户浏览器里执行,想想都可怕!
- CSRF(跨站请求伪造):服务器没做好身份验证,让攻击者冒充用户发起恶意请求。比如,你可能在不知情的情况下,给骗子转了账!
- SSRF(服务器请求伪造):服务器对用户提供的URL信任过度,导致攻击者利用服务器作为跳板,攻击内网或其他服务器。
4. XXE漏洞:听说XML很强大?小心被它“坑”了!
XXE漏洞,全称XML外部实体注入。当应用程序解析XML输入时,没有禁止外部实体的加载,攻击者就可以加载恶意外部文件,读取敏感信息、执行命令,甚至攻击内网!
5. PHP反序列化:听说过魔术方法吗?这可是漏洞利用的关键!
序列化,就是把对象变成字符串;反序列化,就是把字符串还原成对象。PHP反序列化分两种:无类和有类。无类利用比较简单,直接把序列化后的数据传进去就行。有类利用就要用到“魔术方法”了,比如__wakeup()
、__destruct()
,利用这些方法在对象创建或销毁时执行恶意代码。
5.1 JAVA反序列化:面试必考!Shiro反序列化漏洞,你真的了解吗?
- Java的
ObjectOutputStream
和ObjectInputStream
,分别负责序列化和反序列化。 - Shiro反序列化漏洞,是因为Shiro的RememberMe功能使用了AES加密,而且密钥是硬编码的!如果开发者没改密钥,攻击者就可以构造恶意Cookie,触发反序列化漏洞,执行恶意代码。
6. 逻辑漏洞:登录框也能搞事情?这些思路你一定要知道!
- 常见逻辑漏洞:越权访问、篡改响应包、修改支付金额、Cookie爆破、密码找回漏洞等等。
- 登录页面思路:爆破、Session覆盖、SQL注入、XSS、任意用户注册、JS文件泄露敏感信息、短信轰炸、万能密码、二次注入、模板注入,各种姿势安排上!
7. CDN和DNS:别傻傻分不清!CDN绕过姿势,了解一下?
- CDN(内容分发网络):让用户就近访问,提高速度,缓解拥堵。
- DNS(域名系统):把域名翻译成IP地址。
- CDN绕过思路:找子域名、扒内部邮件、用黑暗引擎搜索、国外Ping、查证书和DNS记录、APP抓包、利用配置不当泄露、扫全网IP段,甚至可以用DoS攻击“逼”出真实IP!
8. 中间件漏洞:这些常见漏洞,你必须背下来!
- IIS:PUT漏洞、短文件名猜解、远程代码执行、解析漏洞。
- Apache:解析漏洞、目录遍历。
- Nginx:文件解析、目录遍历、CRLF注入、目录穿越。
- Tomcat:远程代码执行、WAR后门文件部署。
- JBoss:反序列化漏洞、WAR后门文件部署。
- WebLogic:反序列化漏洞、SSRF任意文件上传、WAR后门文件部署。
9. WAF绕过:听说WAF很厉害?这些骚操作教你绕过!
从架构层面,可以尝试找到服务器真实IP,利用同网段绕过,或者利用HTTP和HTTPS同时开放服务的漏洞。从协议层面,可以尝试分块延时传输、利用Pipeline绕过、利用协议未覆盖绕过,或者用POST和GET混合提交。从规则层面,可以尝试编码绕过、等价符号替换、普通注释和内联注释、缓冲区溢出、MySQL黑魔法、白名单和静态资源绕过、文件格式绕过、参数污染等等。
10. 命令执行无回显:别慌!这些方法帮你“盲打”!
无回显?那就用延时判断、HTTP请求监听、DNSLog,或者写入当前目录,下载查看!
11. 3389端口连不上?可能的原因都在这了!
3389端口被关闭、端口被修改、防火墙拦截、处于内网环境、超过最大连接数、管理员设置了权限限制,都可能导致3389端口无法连接。
12. 常用端口:背熟这些端口号,面试不再怕!
21 (FTP)、22 (SSH)、23 (Telnet)、25 (SMTP)、53 (DNS)、80 (HTTP)、443 (HTTPS)、1433 (MSSQL)、3306 (MySQL)、3389 (RDP)、7001 (WebLogic)、8080 (Tomcat)。
13. 渗透测试流程:面试官想听的,都在这了!
- 单一网站:先判断有没有CDN,有就找真实IP,没有就扫旁站和C段。然后识别CMS,查看中间件、插件、系统版本,再进行端口扫描、目录扫描,分析JS文件,寻找敏感信息,扩大资产范围,最后进行漏洞探测。
- 网段或区域:用Goby批量扫描资产,批量打点,然后对薄弱点进行漏洞探测。
14. 逻辑漏洞:不只是“智商税”,更是安全隐患!
- 逻辑漏洞,就是程序逻辑不严谨或太复杂导致的漏洞。
- 比如支付漏洞(修改价格、修改支付状态)、登录漏洞(修改状态信息、跳过密码验证)、密码找回漏洞(暴力破解、跳过验证步骤)等等。修复方法:对关键业务流程进行严格的校验和权限控制。
15. 未授权访问:门没锁,谁都能进!
未授权访问,就是绕过了用户验证,直接访问了需要登录才能访问的页面。比如Redis未授权访问漏洞、JBoss未授权访问漏洞。
16. 打点:用什么姿势才能快速突破防线?
优先尝试Java反序列化漏洞,比如Shiro、Fastjson、WebLogic、用友OA等。因为Java Web程序通常以高权限运行,更容易getshell。
17. Shiro漏洞:如何快速发现和利用?
登录失败时,会返回rememberMe=deleteMe
字段。或者用ShiroScan被动扫描。未登录时,请求包和返回包有特定表现;登录失败,返回包会有rememberMe=deleteMe
字段;登录成功,根据是否勾选RememberMe,返回包和后续请求包的字段存在不同情况。
18. WebLogic权限绕过:听说可以“偷渡”?
通过静态资源绕过权限验证,防止被重定向到登录界面。通过请求.portal
,控制处理的Servlet是渲染UI的MBeanUtilsInitSingleFileServlet
。通过编码后的../
,让最终渲染的模板是console.portal
。
19. Fastjson漏洞:原理很简单,利用却很骚!
在请求包里发送恶意的JSON格式Payload。Fastjson在处理JSON对象时,没有对@type
字段进行过滤,导致攻击者可以传入恶意的TemplatesImpl
类,该类的_bytecodes
字段会在部分函数作用下生成Java实例,实现通过字段传入类并在类生成时执行构造函数。
20. 拿到Webshell不出网:如何突破限制,反败为胜?
可以尝试reg上传正向连接,或者探测出网协议,比如DNS、ICMP。
21. PHP代码执行与命令执行:高危函数,务必小心!
- PHP代码执行的危险函数:
call_user_func()
、call_user_func_array()
、create_function()
、array_map()
。 - PHP命令执行函数:
system()
、shell_exec()
、passthru()
、exec()
、popen()
、proc_open()
、putenv()
。
22. SQL注入无回显:DNSLog来帮忙,盲注也能拿数据!
无回显?那就编写脚本,进行自动化注入,注意调整请求频率,最好使用代理池。利用DNSLog注入,原理是把服务器返回的结果放在域名中,通过读取DNS解析日志获取信息。MySQL中利用load_file()
构造Payload;MSSQL下利用master..xp_dirtree
构造Payload。
23. phpMyAdmin写Shell:姿势要多,才能成功!
常规导入Shell、一句话导出Shell、日志备份获取Shell,总有一种姿势能成功!
24. 缓冲区溢出:计算机世界的“潘多拉魔盒”!
C/C++没有数组越界检查机制,当写入的数据超过缓冲区大小时,就会发生缓冲区溢出。攻击者可以利用缓冲区溢出来窜改进程运行时栈,改变程序正常流向,甚至窃取系统特权!
25. SSRF禁用127.0.0.1:照样绕过给你看!
可以利用进制转换、DNS解析、句号(127.0.0.1)、[::](http://[::]:80/)、@(http://example.com@127.0.0.1)、短地址(http://dwz.cn/11SMa)等方式绕过。支持Dict://、SFTP://、TFTP://、LDAP://、Gopher://等协议。
26. Phar协议:听说可以绕过WAF?PHP伪协议,了解一下?
Phar协议可以Bypass一些WAF,绕过上传限制。Phar://伪协议读取Phar文件时会反序列化meta-data储存。区别在于不同的Content-Type下,php://input和$_POST获取数据的情况不同。
27. SSRF怎么用Redis写Shell?这波操作有点骚!
SSRF可对内网扫描、攻击内网应用、利用协议读取本地文件、在云计算环境调用内网操作ECS的API。WebLogic SSRF漏洞可通过Gopher协议操作内网的Redis,利用Redis将反弹Shell写入Crontab定时任务,进行URL编码,将 字符串替换成%0d%0a
。
28. SQLMap自带脚本:用好这些脚本,注入效率翻倍!
apostrophemask.py
:将引号替换为UTF-8,用于过滤单引号。base64encode.py
:替换为Base64编码。multiplespaces.py
:围绕SQL关键字添加多个空格。space2plus.py
:用+号替换为空格。
29. SVN/Git源代码泄露:程序员的“裸奔”!
在使用SVN管理本地代码过程中,会自动生成一个名为.svn
的隐藏文件夹,其中包含重要的源代码信息。使用Git进行版本控制,如果配置不当,可能会将.git
文件夹直接部署到线上环境,引起Git泄露漏洞。
30. 提权:拿下服务器的“尚方宝剑”!
将UDF文件放到指定位置(MySQL>5.1放在MySQL根目录的libplugin文件夹下);从UDF文件中引入自定义函数;执行自定义函数。
31. 近期漏洞:掌握最新动态,才能防患于未然!
介绍了Microsoft Exchange .Net反序列化远程代码执行(CVE-2020-0688)、Apache Tomcat 文件包含漏洞(CVE-2020-1938)等多个漏洞,包括漏洞所在组件、产生原因和危害等。
32. 解析漏洞:服务器的“阿喀琉斯之踵”!
介绍IIS、Nginx、Apache的解析漏洞,如IIS在特定目录下文件会被错误解析,Nginx存在文件路径解析问题,Apache按特定顺序解析文件后缀等。
33. MySQL只有一个80端口开放?真相只有一个!
更改了端口,没有扫描出来;站库分离;3306端口不对外开放。
34. Order by注入:不走寻常路,也能注入成功!
and/or/xor
前面的(1=1)
、1=2
步骤只是为了判断是否为注入点,如果已经确定是注入点,就可以省略这些步骤。
35. XSS持久控制:拿到Shell还不够,我要长期“潜伏”!
在后台登录处加一段记录登录账号密码的JS,并判断是否登录成功,若成功则记录账号密码;在登录后才可以访问的文件中插入XSS脚本。
36. 上传图片正常,上传脚本403?服务器在搞事情!
有可能Web服务器配置把上传目录写死了不执行相应脚本,尝试改后缀名绕过。
37. Access数据库乱码?一招教你本地利用!
迅雷下载,直接改后缀为.mdb
。
38. 只能命令行执行Shell?这些工具帮你下载!
使用bitsadmin、powershell、certutil、WGET进行下载。
39. Shiro不出网:利用内存马,实现曲线救国!
定位Web目录写入文件构造回显;利用内存马,通过时间延迟获取Web路径写入Webshell。
40. 文件包含GetShell:思路决定出路!
参考链接:https://www.anquanke.com/post/id/248627
41. 文件上传绕过WAF:姿势对了,WAF也能“视而不见”!
参考链接:https://cloud.tencent.com/developer/article/1944142
42. XSS防护与HttpOnly绕过:道高一尺,魔高一丈!
- 防护方法:输入过滤、纯前端渲染、转义HTML。
- HttpOnly绕过方式:CVE-2012-0053、PHPINFO页面(若目标网站存在,可通过XMLHttpRequest请求获取Cookie信息)、iframe框架钓鱼、跳转钓鱼、历史密码(通过JS伪造登录表单获取)。
题外话
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。