醉梦轩

醉中无日月,梦里有乾坤

最近为三星Note2|N7100刷入内核版本为3.0.31-1071214的ROM,发现使用logcat时给出如下错误提示:

Unable to open log device '/dev/log/main': No such file or directory

通过各种搜索分析最终找到针对该机型的解决办法,解决方式如下:

  1. 从手机进入目录:/system/etc/init.d;
  2. 在该目录下找到S82logger文件,用记事本打开,可以看到如下语句:rm /dev/log/main,将该语句删除。
  3. 在该目录下找到04opb-tweaks文件,用记事本打开,找到如下语句:rm /dev/log/main,将该语句删除。
  4. 重启手机。

在稳定版MIUI v6中,设置=》安全中心 里没有“授权管理”设置的入口,之前都是刷开发版解决该问题。今天突发奇想,我直接调起设置的Activity行不行呢?
在一款开发版系统里打开设置界面,获得Activity名称为:

com.miui.securitycenter/com.miui.permcenter.SettingsAcitivty

换到稳定版手机,使用

am start -W -n com.miui.securitycenter/com.miui.permcenter.SettingsAcitivty

命令打开Activity,果然成功关闭

  今天在一部手机上安装应用会一直返回INSTALL_FAILED_INSUFFICIENT_STORAGE错误,但是用df命令看手机储存空间又是足够的,一直想不通为什么。
  隐隐觉得双清一下手机是可以解决问题,但是这样没法找到报错的根源。\n然后试了其他一些应用,发现都是能装上的,怀疑就和这个应用有关。
  使用logcat查看安装过程中的日志,发现有这样一条

E/PackageManager(994): Cannot rename native library directory /data/app-lib/vmdl786013163 to /data/app-lib/com.tencent.mobileqq-1

  顿时觉得问题出在这个目录上面,删除了这个目录之后,果然应用能够正常安装了

三星S4,4.4系统,selinux无法关闭

注入时发现dlopen调用返回为0,怀疑是selinux的原因。研究后发现加载的so的context不能是u:object_r:shell_data_file:s0,使用chcon命令改为u:object_r:app_data_file:s0u:object_r:system_file:s0,注入成功

另外,以u:r:init:s0创建的进程,创建的localsocket服务端,在PC无法用adb forward命令转发到PC上,怀疑是adbd进程无法访问u:r:init:s0域的原因,使用runcon命令将进程以u:r:shell:s0域创建,locaclsocket可以转发到PC,但是权限可能会降低。

runcon u:r:shell:s0 sh

有些设备tadb等第三方adb工具能识别,但是sdk中提供的adb却不能识别。这种情况可以通过修改adb_usb.ini来让adb识别。
该文件位于C:\Users\{username}\.android\adb_usb.ini

将要识别设备的VID添加到adb_usb.ini文件,每行一个,如:

1
2
3
0x2717  
0x2A45
0x9BB5

获取设备UID的方法

  • 打开设备管理器,找到安装的android硬件,右单属性再打开详细信息选项卡,在属性中选择硬件id,会在值显示框中出现硬件的id信息,只需要记下VID_后面跟的数字就行,比如我的是USBUID_2207&....,只需要2007就行

  • 使用libusb-win32查看

1
2
\\.\libusb0-0001--0x2a45-0x0c03     2A45/0C03  
Dev #1: Meizu - MX4- Serial Number: 750BBKT22W4L

如果不能看到这个设备,说明驱动没有正常安装

  这几天手机老是自动更新到MIUI v6,但是我又不喜欢v6,只好降级,结果降级后又自动升级,只好研究了下禁止升级的方法。
  结果发现只能卸载**/system/app/Updater.apk**,不然就算禁止“系统更新”联网也没用,它还是会偷偷下载新版本,然后提示重启升级。此时千万不能重启,要进到recovery里,选择另外一个系统(不显示“最近”的系统),进去,这样进到的还是旧系统。因为MIUI会将新版本放到新系统里,重启后自动进的就是新系统(这也是双系统的好处)。
  如果不小心进到新系统里升级了,也不要紧,重启到recovery,清除用户数据,再重启到旧系统就可以了。然后一定要卸载Updater.apk。这样就不会再自动升级了。

<img/src=\"#\"/onerror=alert(1)>

这样子写是可以正常解析的,至少Chrome是可以的

  前几天参加了公司的安全大赛,其中有几题感觉本应该做出来,却没做出来,归根到底还是自己知识面太窄了。
  1、找xss漏洞,onclick="addMsg('*')",*表示是参数中可以传入的内容,但是会有过滤,“\”,“'”,“"”等字符前面会加上“\”,“'”,“"”会被替换为html编码形式,网页是gbk编码的。
  感觉应该是利用gbk编码的漏洞来绕过去,一般来说gbk编码漏洞都是利用GBK双字节中的第二个字符为“\”,如果server把“\”替换为“\\”,返回到浏览器时就变成一个汉字加一个“\”,可是不管怎么弄“'”还是变成“'”,没法将前面的“'”闭合。
  最后发现答案是:“%c0%5c%27);alert(1);//”,返回的html代码是:“onclick="addMsg('繺\\');alert(1);//')"”,如果这里还看不出问题的话,用chrome开发者工具看一下就会发现,解析后的html代码是:“onclick="addMsg('繺\\');alert(1);//')"”。 '已经被还原成了“'”,从而闭合了前面的“'”,这一点我之前是不知道的,而且也没有用开发者工具看一下,这一点太失败了。我离成功真的只有一步之遥了!
  有时间好好研究下什么情况下会还原,什么情况下不会还原!这些是原理层面的东西,可惜都不清楚啊!

  2、传统的从一个页面找下一个页面的游戏,有一个页面是将秘密隐藏在了HTTP响应头中,可我一直都是在html代码中找线索,白白浪费了时间。下次遇到这类题目一定要立马开fiddler。这个失败主要还是思维定势,想问题一定要思路开阔,不能太死!!!

安装kinguser后创建的su文件发现无法删除,会提示

rm: can't remove 'su': Operation not permitted

找了好久终于找到原因了
是这个文件设置了immutable属性,导致无法rm、chmod、chown
只要去掉这个属性就好了

/system/xbin # chattr -i su
/system/xbin # chattr -i su
/system/xbin # chattr -a su
/system/xbin # rm -f su
/system/xbin # rm -f su

使用lsattr可以查看属性