前些日子

前些日子还是干了些事情的。。。

自动化上传格式文件

一个多月的时间干这个事情,对数据的格式要求较为严格,所以较长时间花费在写数据的格式化脚本上。

前期思路

有一些写好的软件,将这些软件按照一定的顺序和要求执行完毕可完成数据的格式化操作。故准备写一个串行脚本,将这些软件串起来,当时还考虑到可扩展性与统一的需要,打算用配置文件的方式来实现各软件的调度运行。

但是。。。由于开发者水平问题,那些软件真的烂,时常崩溃。虽然自己的脚本也挺烂。。。再加上不想去理解这些软件的输入输出以及想去掉其中的一些不必要的操作,所以这个思路就弃了

格式化脚本学到的

在对文件进行格式化的过程中,也学到了一些东西。

Python编码问题、Python对docx的操作等

上传中遇到的坑

文件格式化做好后,开始考虑web端的自动化。

web端操作的顺序为:

  1. 登录

  2. 新建一个要上传的文件网页

  3. 在这个网页进行一系列选择和输入,完善文件的一些属性及说明信息

  4. 上传一些附带文件

  5. 完成后会跳转到一个在线编辑页面,然后在在线编辑页面对文件继续进行完善,编辑采用word的形式

  6. 编辑完保存就算完成一个格式文件的上传

web端采用IE + ActiveX(上传及Word编辑)

IE真是烂,再加上一个低版本的word在线编辑器(ZSOffice),由于版本的问题,官方提供的API手册,很多在低版本中都无法使用,真时烂到爆炸

为了解决在web端的Word编辑器中自动修改文本的问题,实验了以下思路:

  1. 考虑到上传过程中的数据传输,想通过抓包修改文本。 -> 由于流量包中没有发现待修改文本数据,同时数据的交互过程采用了一种我看不懂的编码,所以弃了

  2. 考虑到Activex控件,想通过控件本身的API或其使用的前端JS函数修改。 -> 待修改文本倒是在控件的DocText属性中找到了,但控件本身并没有提供对其修改的函数接口,也许是我没找到,也许是客户端不能用JS修改,而且官方的手册上的不能用,所以弃了

  3. 查看本地进程发现,在线编辑其实在本地开启了一个word进程,所以想通过进程注入的方式去修改文本。-> 通过暴搜内存找到了待修改的字符串,但修改后无法在web端实时显示修改结果,而且保存的话,无法将修改结果同步到web端,需要在web端手动编辑执行类似的刷新操作才行,但没有想到怎么解决这个刷新操作,所以弃了

  4. 使用selenium进行动态模拟 -> 脚本写到最后一步,才发现不行。。。mmp,在跳转到在线编辑页面时,selenium提供的IEDriver.exe生成的浏览器会莫名崩溃,前面的一系列操作都没问题

  5. 在使用selenium的过程中,在登录上,由于用户名是中文,在sendkeys(u”中文名”)时总是不成功,IE会莫名崩溃,由于时间有限也没去调。尝试了一系列编码以及解决途径,猜测是垃圾IE的问题,也有可能是url编码的问题。 -> 这里采用了一种绕过的方法,在本地事先生成好中文名的文本文件,在web端访问该本地文件,然后使用selenium提供的鼠标键盘模拟的API去模拟ctrl-a + ctrl-c + ctrl-v 操作,完成了向输入框中输入中文,也算是自己觉着比较猥琐的一个思路吧,哈哈

后期解决

老板催进度,没办法,只能想一个垃圾的解决方法,就是使用最原始的鼠标键盘模拟去写了。

最开始是自己写,用了python + pyautogui,本来是想直接定位像素点,把像素点写死到脚本里的,但稳定性实在太烂,所以打算用录制 + 回放的思路。

在录制的过程中使用了pyhook,由于pyhook中提供的鼠标键盘事件信息不能够直接被pyautogui使用,所以自己去尝试定义鼠标键盘事件的格式,但需要考虑的东西太多了,所以准备换思路

想到鼠标键盘模拟,这玩意肯定有现成的,就去google了下,找到一堆,而且基本都是支持录制 + 回放的,这样就解决了模拟问题。

这个事情算告一段落,脚本 + 工具勉强能用,听说下一步会换上传平台,等着换平台看看能不能写个真正的自动化吧

基于代理的web扫描器

大学的时候,几个同学靠这个东西小赚了一笔,听说是猪猪侠先把这个思路在乌云放出来的,当时还想着自己也搭个玩,但一直没能实现。

花了一周的时间研究了下,发现也没想象中的那么diao,应该是这个思路在当时较为适用,所以在当时能够挖到不少的洞吧,但问了下几位师傅,发现现在的效益不是很好。

也算是还个愿,就想着把这个东西学了,主要是学习下思路,搭了一个最简单的实验版,感觉能不能扫到洞,还是要看扫描器,不过这个思想还是很值得学习的。

参考某大佬的github

听说效益不好,也就没有在vpn上在继续深入下去。

概括性的总结下:

vpn上搭个代理 -> 用户的流量经过代理 -> 代理将流量中的可用信息存储在mongodb -> 后台的任务分发模块将流量交给扫描器 -> 扫描器利用流量扫描 -> 有洞报洞,没洞拉倒

这里可以在扫描策略以及报告上进行优化,减少误报和漏报,所以还是看扫描器

没有深入研究,不对的轻喷。。。

扫描策略研究

上面搞完那个代理,又对扫描策略产生了兴趣,遂以AWVS为例,简单学习了下扫描策略。

参考某大佬blog,挺新的东西,blog中说扫描器的核心是规则,这点还是很赞同的。

浏览了下其中提及的AcuSensor和AcuMonitor技术,官方说很diao,自己也没细看,以后如果搞扫描器相关的,会去借鉴下。

路由器

前些日子网总是莫名其妙的断,由于网关是由公司里的一个人专门管理的,会对流量进行监控,怀疑做了限制,感觉好不爽,所以想把网关干了,看看做了什么限制。

用nmap扫了下,开了http、telnet。

web端连上去,发现是H3C ER3200路由器。

先弱口令,不行。抓了下流量,用户名和密码都是明文,但存在验证码。虽说验证码简单,可以用机器学习绕过,网上也可能有现成的,但麻烦,就没去爆破。

google了下,找到了默认用户名密码,试了下,不行。ER5100有一个洞,版本差不多,看能不能用,不行。

以前研究过routersploit,但这个H3C人家不支持。自己没闲到下固件挖洞的地步,主要是道行不够,所以漏洞方面的话,gg。

只剩telnet,用routersploit的telnet模块跑了下,不行,gg。

上网问题还得解决,所以对公司常年开着的几台服务器起了歹心,这几台机器的网很好,带宽也很大,想着在上面搭个代理,用这些服务器去转发我的流量到公网。然而,不在一个局域网内,gg。

这期间,又有了搞固件的想法,而且发现了公司仓库闲置的无人机,某当搜索无人机破解相关书籍,没有。问了下老板,不让随便用,qnmd,不玩了。

seebug paper

又开始瞎看了,发现seebug的一些paper还挺有质量的,就打算花点时间浏览浏览,看看最近有啥好玩的,开阔下视野。

学到了一些新姿势:

用系统白程序MSBuild执行恶意代码

PHP层面的WAF-PHP RASP

就较为深入的看了这两个

接活

朋友之托,接了两个活,接下来就干这两个活了吧。

一个是微信公众平台开发,看了下,好像没啥难度,跟搭个blog差不多,而且可以用php,挺棒的。

一个是Android开发,这个手比较生,而且是一个毕设,要求蛮多,估计得一段时间。

这篇就到这