应用安全漏洞
SQL注入
数据包如下:
观察post包,在userid=1‘部分程序会报错,初步判断此处存在注入漏洞。
使用类型转换函数nvarchar将数据库里的url数据(char)转换成int,将字符串储存在数据包里发送给后端,发现程序报错,可以判定执行了sql语句,断定此处为sql注入。
经过测试,mysql的权限是sa权限即最高权限,同时支持联合查询,用户权限是system权限,数据库开启特性xp_cmdshell,因此可以通过注入点执行系统命令。
用xp_cmdshell 执行whoami,将结果输出到web目录下边的txt文件中,抓包后发现,文件成功写入。
访问文件发现里面写入了一个具有操作系统权限用户。
那么之后可以修改数据库信息,写入恶意文件,达到getshell目的。
数据伪造-硬编码
问题:企业里应用的加密算法与加密密钥很容易被攻击者拿到,即硬编码在客户端里的漏洞现象。
数据包如下:
此包用到getToken方法,通过传递参数req进行一系列后续操作,并返回给当前用户的token。在测试过程中这里根据暴露的req密文内容,猜测可能是base64编码。或者是DESede加密。
找到了加密解密函数。从而拿到密钥。
替换另一个账号信息对givospddxhuwo_1参数进行刚才key加密,然后粘贴到数据包中,去重放数据包,发现返回了这个用户的token,导致我们可以通过这个token获取givospddxhuwo_1的用户身份信息。
建议在客户端打包上线前,进行应用加固,比如加壳(二进制加密隐藏)。加壳可以防止攻击者对程序的反编译,提高信息获取难度。
沙盒逃逸
一般会给用户一些源码编辑需求,因此,编码后运行的程序是在系统的沙盒里面,一旦这个沙盒逃逸 ,攻击者可以直接把程序运行在操作系统中,或者其他层。
观察这个界面。这个沙盒是python沙盒,里面说一下subprocess模块,通过该模块进行沙盒逃逸。
将payload写在上述源码内,进行一个编译过程,达到沙盒逃逸目的。payload如下:(获取当前操作系统的一些信息)
将payload放在左边量化编译沙盒里面运行,在右下角日志输出信息,发现有系统执行的信息,这样就完成了一次沙盒逃逸,从沙箱里面逃逸到操作系统主机上执行了一些系统命令。
除了执行ps -ef还可以执行一些网络相关的命令,可以下载一些恶意文件到服务器,做反弹,达到一个直接入侵内网的效果。
如果沙盒里的库或者模块没有更新,一些特性的更改,系统的沙盒没有迭代到最新的版本中,一些特性会造成沙盒的逃逸,在之后的运维过程中也要注意一些基础模块的更新,防止沙盒逃逸。
文件上传
上图所示通过curl 以及地址获取了bash.histor的内容,这里存在一个人一文件读取的漏洞,通过在url里拼接一些文件相关的路径,达到一个读取文件的操作。
在这个案例里,通过任意文件读取,获取了web系统的一些代码
进行代码审计,发现代码里有些接口没有显示但可以访问,比如上图上传用户头像部分,我们直接上传一个包含cmd的jsp动态文件上去,就可以达到getshell目的
上传文件成功后成功解析,通过传入一些参数获得操作系统执行命令的权限。上图表示获取操作系统ip地址的命令。
业务逻辑安全漏洞
越权漏洞
上图数据包中有num字段,通过测试发现223表示用户id,即后端通过获取num这个值可以查询当前用户的一些身份信息,通过修改223到220就可以获取其他用户的信息。
通过bp执行批量操作获取大量用户信息。
密码重置漏洞
修改account可以更换任意用户的密码
安全运维安全
1day漏洞
1day漏洞是官方已经发布补丁或者是已经爆出来很长时间,已经有了一些有效的防御措施,但是还是能通过该漏洞对系统造成一定损害,这就是运维过程中没有及时打补丁。
上图当输入一些操作系统命令的时候,weblogic下的服务器成功执行并返回一个结果。
运维不当
该文件中存储整个网站的代码,配置信息,日志相关内容。
翻阅过程中发现上述配置信息,有数据库的端口,用户名等。
安全意识
口令安全
通过弱口令登陆,上传waf包,直接getshell,下面是执行结果,可以获取所有文件,执行系统命令等
代码安全
若代码被攻击者获取,可进行白盒审计,或者直接从代码中获取配置文件,对业务系统造成危害。
上图表示通过关键字获取的运维人员的运维手册。
svn在管理代码过程中会生成一个.svn文件夹,包含重要源代码。但是一些网站管理人员在发布代码时候,不愿意使用导出功能,而是直接复制文件夹到web服务器上,这就使.svn文件夹暴露在外网当中,黑客可以借助这些文件夹中的索引还原出代码,从而可以进行白盒审计或者配置信息利用,威胁到企业内网安全。
上图表示svn泄露获取的代码,在代码中可发现有配置文件,这个文件是静态储存oss服务器的密码账号。通过账号accessKeyId与accessKeySecret直接获取企业敏感数据。