2017-11-15

webview远程代码执行漏洞:

描述:Android API level 16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用WebView.addJavascriptInterface方法,远程攻击者可通过使用Java Reflection API利用该漏洞执行任意Java对象的方法,简单的说就是通过addJavascriptInterface给WebView加入一个JavaScript桥接接口,JavaScript通过调用这个接口可以直接操作本地的JAVA接口任意文件上传漏洞:

影响范围: Android API level 小于17 (即Android 4.2之前的系统版本)

漏洞详情:

 漏洞位置:addJavascriptInterface\(Object obj,String str\)

 触发条件:      使用addJavascriptInterface方法注册可供JavaScript调用的Java对象;

                          使用WebView加载外部网页或者本地网页;

                          Android系统版本低于4.2;

测试方法:使用fiddler自带的脚本进行测试,在onBeforeRequest()方法中加入拦截GET请求的逻辑语句,并重定向到自己服务器上的测试脚本文件,进行测试。

在Android17及以上的API版本中,Google要求在调用addJavaScriptInterface()时添加@JavascriptInterface注解。暂时认定为如果APP 依赖的API level 等于或高于17就是安全的。

任意文件上传:

测试方法:伪造上传内容,将恶意代码嵌入到要上传的文件中,例如图片木马;一般的网站在进行上传文件过滤时会通过几种方式来校验上传文件的合法安全性,例如:

  • 前台脚本检测扩展名:客户端上传之前,就对上传文件进行判断;;绕过方法:先改为符合脚本检测规则的扩展名,然后通过工具拦截请求,将数据包中的文件扩展名还原。
  • content-type文件类型检测:定义网络文件的类型和网页的编码,决定文件接收方以什么形式、什么编码读取文件。一般类型有:application/x-cdf 应用型文件 ; text/HTML 文本 ;image/JPEG jpg图片 ; image/GIF gif图片 。在浏览器上传文件到服务器时,服务器会对上传文件的content-type类型检测,如果是白名单允许的则允许上传。绕过方法:通过工具修改content-type为符合检规则的类型。

  • 服务器端扩展名检测:浏览器将文件提交到服务端时,服务器端会根据设定的黑名单对浏览器提交上来的文件扩展名进行检测。可以通过IIS6.0解析漏洞(解析文件后缀时从右向左解析,一旦解析到合法的后缀形式(.asd .jpg等)就会停止解析并默认为该后缀类型文件,不管它是不是一个有效的后缀名)。

  • 文件内容检测:通过getImageSize()函数读取文件头,返回图片的长宽等信息校验文件是否是一个有效的文件图片;所以可以通过构造一句话木马图片染过文件内容检测,然后用中国菜刀远程连接。

一句话木马:

将一句话木马隐藏在图片中,可以绕过文件内容检测、安全狗检测等;

图片木马制作方法:

  • 使用copy命令制作好木马图片;

  • 用ultreaEdit打开图片,选择十六进制形式,同时将一句话木马转换为十六进制,并将该十六进制码黏贴到图片十六进制码的末端,保存退出。

  • Exif就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门、白平衡、ISO、焦距、日期时间等各种和拍摄条件以及相机品牌、型号、色彩编码、拍摄时录制的声音以及GPS全球定位系统数据、缩略图等。ctf的某些图像隐写术题,就会把flag藏在exif里面php中用函数exifreaddata可以读取jpeg的exif信息。具体操作连接:https://bbs.ichunqiu.com/thread-19656-1-1.html

暴力密码破解:

results matching ""

    No results matching ""