奇安信面经学习(2)

1.文件上传 绕过黑名单
客户端验证
客户端验证是一种发生在输入被实际发送至服务器之前进行的验证。这类验证大都都是通过JavaScript,VBScript或HTML5来完成的。虽然,这对于用户来说响应速度更快体验也更好。但对于恶意攻击者来说,这些验证似乎就显得略为低级。
客户端验证绕过
这种类型的绕过也非常简单,我们可以关闭浏览器上的JavaScript或是在浏览器发出请求之后,在被发送至服务器之前来篡改该HTTP请求即可。//burp suite拦截

文件名验证
顾名思义,就是在文件被上传到服务端的时候,对于文件名的扩展名进行检查,如果不合法,则拒绝这次上传。检查扩展名是否合法有两种常用策略,即黑名单和白名单策略。
黑名单策略,即文件扩展名在黑名单中的为不合法。白名单策略,即文件扩展名不在白名单中的均为不合法。相对于黑名单,白名单策略更加安全的。通过限制上传类型为只有我们接受的类型,可以较好的保证安全,因为黑名单我们可以使用各种方法来进行注入和突破。
文件名验证
顾名思义,就是在文件被上传到服务端的时候,对于文件名的扩展名进行检查,如果不合法,则拒绝这次上传。检查扩展名是否合法有两种常用策略,即黑名单和白名单策略。
黑名单策略,即文件扩展名在黑名单中的为不合法。白名单策略,即文件扩展名不在白名单中的均为不合法。相对于黑名单,白名单策略更加安全的。通过限制上传类型为只有我们接受的类型,可以较好的保证安全,因为黑名单我们可以使用各种方法来进行注入和突破。

Content-Type验证
Content-Type(内容类型),一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件。例如,一些图像文件上传通过检查文件的内容类型是否为图像类型来验证上传的图像。
Content-Type绕过
该类型的绕过也非常简单,只需将“Content-Type”的参数类型更改为“image/ *”即可,例如“image/png”, “image/jpeg”, “image/gif”。

CONTENT-LENGTH验证
Content-Length验证是指服务器会对上传的文件内容长度进行检查,超出限制大小的文件将不允许被上传。虽然这种类型的验证不是很受欢迎,但在一些应用的文件上传中也时常能碰到。
CONTENT-LENGTH绕过
针对这种类型的验证,我们可以通过上传一些非常短的恶意代码来绕过。上传文件的大小取决于,Web服务器上的最大长度限制。我们可以使用不同大小的文件来fuzzing上传程序,从而计算出它的限制范围。

2、文件包含使用的函数

include:返回一个警告,文件继续向下执行,通常为动态包含。
include_once:返回一个警告,除了include的所有功能外,还会进行一次once检测,之前被包含的文件不会被包含。
require:一个致命错误,代码将不会向下执行,通常包含极其重要的文件,代码别想执行。
require_once:一个致命错误,除了require的所有功能外,还会进行一次once检测,防止文件被反复包含。

2.存在反序列化漏洞的中间件
Jboss中间件存在反序列化漏洞
待续。。

3.代码执行和命令执行的区别以及使用的函数?
代码执行本质上是调用后端语言(java、php),来执行特定代码,命令执行是调用系统命令执行的接口和执行系统的命令
eval() assert()
preg_replace() create_function()
array_map() call_user_func()
call_user_func_array() array_filter
usort uasort()
文件操做函数 动态函数( a( a(b))

一、eval()
eval() 函数把字符串按照 PHP 代码来计算,如常见的一句话后门程序:<?php eval($_POST[cmd])?>html
二、assert()
与eval相似,字符串被 assert() 当作 PHP 代码来执行,如:web
示例代码:正则表达式

<?php //?cmd=phpinfo() assert($_REQUEST[cmd]); ?>

常见代码执行函数 - JavaShuo 这个链接

4.使用http-only xss怎样继续攻击?
劫持钓鱼绕过httponly
XSS 之 httponly 绕过 | Mr.Wu (360doc.com)

1.phpinfo页
伪造对方身份访问同站的phpinfo页面,因为同域所以通过ajax提交访问可以读取到responseText,其中$_SERVER[“HTTP_COOKIE”]会打印出具有httponly属性的cookies。
优点:成功率很高,最不容易被察觉,也是最常用的一种方式。
缺点:需要phpinfo页,条件苛刻。
2.框架钓鱼
通过标签嵌入一个远程域,完全撑开后,以覆盖原有的页面。
优点:无跳转,域名无改变。
缺点:通常会覆盖某个正常的页面,管理员易察觉。
3.跳转钓鱼
通过购买相似域名,构建相同的钓鱼页面,使受害者跳转至钓鱼站。
优点:主动性较强,可主动钓鱼。
缺点:成本较高,且由于页面跳转过于明显,所以此方法十分容易被发现。
4.历史密码
通过js伪造登录表单,欺骗浏览器自动填入,由此获取浏览器记住的历史密码。
优点:不易被发现,可直接获取明文,成功率较高。
缺点:各内核浏览器兼容性不一,最新版google已不支持http协议下的自动填入功能。
5.获取源码
通过xss获取后端页面源码,常常可以发现一些越权访问,或者配合CSRF打组合拳去添加新用户或者执行其他的功能,以及通过审计后台js发现一些漏洞等。
优点:信息获取的比较详细,也可以获取到后台账号名称。
缺点:局限性较大,不易于利用。

5.说一下数据库提权、第三方组件提权、SUID提权
MySQL数据库提权(一) - ZhaoYXiang22 - 博客园 (cnblogs.com)
MySQL数据库提权(二) - ZhaoYXiang22 - 博客园 (cnblogs.com)
MySQL数据库提权(三) - ZhaoYXiang22 - 博客园 (cnblogs.com)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值