雨律在线 - 第25页


  装了个工行的U盾,IE疯狂提示“您的安全设置级别导致计算机存在安全风险”,这个提示烦人啊。关闭方法如下:
  快捷键“Win+R”打开“运行”对话框,在对话框中输入“gpedit.msc”后回车打开组策略。依次展开“本地计算机策略 - 计算机配置 - 管理模块 - Windows 组件 - Internet Explorer”,在右边的窗口中找到“关闭安全设置检查功能”策略项。双击此项打开属性对话框,在“设置 ”选项中选择“已启用”项,确定生效后,以后就不会执行安全设置检查了,也不会再出现烦人的安全提示了。



  近日,密歇根大学研究人员发布了“绿坝-花季护航”栈溢出漏洞分析报,原因是绿坝软件使用固定长度的缓冲区来处理网址,因此如果长度超出处理范围便会出现缓存溢出,黑客可以利用它将浏览器定向到有恶意代码的网站。

  就在“绿坝-花季护航”高危漏洞公布不久,黑客 seer[N.N.U] 在 milw0rm.com 上发布了利用该漏洞的攻击代码,可导致浏览器崩溃。

Green Dam remote buffer overflow exploit

"Green Dam" is a software used for monitoring and anti-pornography, popularizing by
Chinese goverment. After July 1st, it will be forced to install on all new Chinese PCs.
Now it already has 50 million copies in China.
In order to monitor the URL that user is exploring, Green Dam injected the browser
process. When Green Dam is trying to handle a long URL, a stack overflow will occur in the
browser process.
This exploit can be used for exploitation on IE, on those computers installed Green Dam.
I used the .net binary to deploy shellcode, for it`s more stable than Heap Spray, and able
to bypass DEP and ASLR on Vista.
The exploit page contains a .net control, so it should be published on IIS.


“绿坝-花季护航”溢出漏洞攻击代码:


“绿坝-花季护航”栈溢出漏洞攻击代码下载:http://milw0rm.com/sploits/2009-green-dam.zip

临时防范方法:
1、关闭“绿坝”过滤监控功能
2、卸载“绿坝”(可利用专用卸载工具)

  漏洞曝了,攻击代码公布了,这次“国家的4000W扶持”算是失败了。大多数网民都不接受,更重要的是“绿坝”这东西被一家叫Solid Oak Software的美国软件公司指控其盗用该公司CyberSitter软件的编码,有趣的是“绿坝”竟然通过Solid Oak的服务器更新黑名单~~~不知道7月1日正式预装那天意味着什么...



方法一:
  最简单的方法,判断当前窗口大小是否跟屏幕分辨率相同,相同则为全屏状态。不过要注意桌面进程 Explorer 的处理

方法二:
  注册一个Appbar(桌面工具栏)是类似微软视窗系统的任务条的窗口。它紧靠屏幕边缘,典型的桌面工具栏包括快速访问其他应用程序和窗口的按钮。系统会防止其他应用程序使用被appbar占用的区域。在任何时刻桌面都可以同时共存多个appbar。

使用的API: SHAppBarMessage (原型如下:)

WINSHELLAPI UINT APIENTRY SHAppBarMessage( DWORD dwMessage, PAPPBARDATA pData);


  这个API可以向系统发送一个appbar message(也就是dwMessage,有很多消息,可以查阅MSDN),然后系统通过pData返回你想知道的信息,这里我们主要用这个API来注册一个新的appbar。这里还需要关注的是APPBARDATA这个结构体。

检测全屏的具体实现代码如下:

APPBARDATA abd;
memset(&abd, 0, sizeof(abd));
// Specify the structure size and handle to the appbar.
abd.cbSize = sizeof(APPBARDATA);
abd.hWnd = hwndAccessBar;
abd.uCallbackMessage = MSG_APPBAR_MSGID;
!::SHAppBarMessage(ABM_NEW, &abd);


  注意MSG_APPBAR_MSGID这个,这是你自己定义的消息ID,当有全屏创建或者取消的时候,会给句柄为hwndAccessBar的窗口发送消息ID为MSG_APPBAR_MSGID的消息,具体到全屏消息,此时WPARAM为ABN_FULLSCREENAPP,而LPARAM则能够判断当前是有窗口全屏了还是有窗口取消全屏了,(BOOL) lParam为TRUE表示有窗口全屏了,而(BOOL) lParam为FALSE则表示有窗口取消全屏状态了。代码如下:

LRESULT CWinHook::WindowProc(UINT msg, WPARAM wp, LPARAM lp)  
{
    if (MSG_APPBAR_MSGID == msg)
    {
        switch((UINT)wp)
        {
        case ABN_FULLSCREENAPP:
            {
                if (TRUE == (BOOL)lp)
                {
                    TRACE(TEXT("一个窗口全屏了\n"));
                    KAppBarMsg::m_bFullScreen = TRUE;
                }
                else
                {
                    TRACE(TEXT("一个窗口取消全屏了\n"));
                    KAppBarMsg::m_bFullScreen = FALSE;
                }
            }
            break;
        default:
            break;
        }
    }
    return CSubclassWnd::WindowProc(msg, wp, lp);
}


附注:后来发现vista下面没有XP下灵敏,不知道怎么回事,vista下偶尔会失败,很奇怪。



**************************************************************************************
*
* 版权归 雨律在线 - YuLv.Net - JiaJia 所有
*
* 转载请务必注明来源于 Http://Www.YuLv.Net
*
* 加加唯一指定官方 YuLv.Net 建议用户到官方安全下载
*
**************************************************************************************


关键字WarMH++,War3MapHack,魔兽全图,魔兽1.23全图,过浩方全图,过VS全图

支持系统XP/2003/Vista/Win7

重要说明使用作弊工具有一定风险,我们无法向您保证100%不被封号或降级。所以请大家自行选择是否使用,如果怕被封号则请慎重使用作弊工具,或者使用小号流测试后再用。

使用说明:
1、将软件解压至任意您自定的目录再运行;
2、根据自己的喜好设置全图选项; 并点击全自动开启全图选项;
3. 用VS或HF启动魔兽后, 再用 WarMH++ 执行开启全图功能;

PS: 不多说什么了,想用的就用吧。

官方下载地址:WarMH++ 2.0 过VS过HF版  [雨律在线 - YuLv.Net]



去广告方法一:

最新迅雷去廣告方法

[X]:\Program Files\Thunder\Profiles\users\[UserName]\

注:

[X]代表迅雷的安装目录盘符,

[UserName]代表你的迅雷帐号昵称.

请按照实际情况修改本路径。

2. 看一下该目录下是否有“vipsettings.ini”文件,没有就新建一个。

3. 向文件里输入如下内容:

[VIP_SETTING]

THUNDER_MINISITE=0

SKIN_TYPE=1

SKIN_NAME=default

FIRST_LOGIN=0

MAIN_AD=0

NEW_TASK_PANEL_AD=0

XUNLEI_TIP=0

WELCOME_PANEL=0

VIP_CFG_SYNCHRO=0

附参数说明:

[VIP_SETTING]

THUNDER_MINISITE=0 //迅雷资讯,1是开启,0是关闭

SKIN_TYPE=1 //皮肤类型,有两类,非别是1和2,2是会员皮肤

SKIN_NAME=default //皮肤名,可以在skin和skin2目录下查看,如果不用相关的VIP本地补丁改了也是没效果的。

FIRST_LOGIN=0

MAIN_AD=0 //主界面广告,1是开启,0是关闭

NEW_TASK_PANEL_AD=0 //新建面板广告,1是开启,0是关闭

XUNLEI_TIP=0 //影视快讯,1是开启,0是关闭

WELCOME_PANEL=0 //欢迎界面,好像是会员有效的。

VIP_CFG_SYNCHRO=0

去广告方法二:

最新的迅雷加入了与QQ类似的VIP会员功能, 迅雷会员还有专用皮肤. 这里有一个简单的办法可以轻松让非会员免费使用会员皮肤, 同时可以修改参数以隐藏主界面的广告条幅.

找到 [X]:\Program Files\Thunder\Program\ThunderUI.xml 打开文件, 清空顶部 GUIToolBoxItems 部分, 可以去除左侧的插件栏. 注意不要弄坏XML结构. 请谨慎, 备份后再做, 防止出问题.

所有迅雷的皮肤都存储在 [X]:\Program Files\Thunder\Skin2

打开这个文件夹, 并随便选择一款皮肤. 如"red"对应的是"火焰之息(会员)".

打开目录中的package.ini

文件类似这样:

[config]

name=red

showname=火焰之息(会员)

description=2red

author=迅雷网络

vip=1

只需要把vip=1改成vip=0就可以了. 在迅雷皮肤菜单可以立即更换, 不需重启.

打开 [X]:\Program Files\Thunder\Program\ThunderUI.xml.

找到这一行 POSITION Left="0" Top="0" width="GDET.MainFrame.Width" height="60",将height值改为0即可.

这只是隐藏了广告条, 并不能防止后台下载广告.

打开[X]:\Program Files\Thunder\Components\Streamer.

打开streamer.xml, 将里面的true改为false.

删除AD文件夹和其余两个xml文件, 将整个文件夹开启"只读"属性.



1.什么是DEP
DEP,全称是Data Excution Protection,中名叫数据执行保护,是XP+sp2,Win2K03+sp1中加入的对内存的一种保护,用来防止恶意程序对系统的攻击,如溢出。
现在只有两种设置方式:
一、是只为系统关键进程和服务提供DEP保护,这也是默认选项。
二、是为所有程序和服务提供DEP保护,除去用户手动指定的程序。
其设置在"我的电脑"->右键菜单"属性"->"高级"->"性能 - 设置"->"数据执行保护"

2.DEP能保护什么?
个人认为DEP就是专门为防止溢出设计的,当然这么说是有点狭隘了,毕竟这种机制完善了CPU的内存管理机制。感觉每一个指令执行之前都进行内存页属性的检测有点太费资源了。
一句话,DEP可以使指定的内存页不具有可执行属性
这样一来,如果指定栈所在的内存页不可执行,那么,当我们要栈上溢出时,我们的Shellcode将难以被执行。
所以,DEP保护的就是内存,保护指定的内存上的代码不能被执行,这样就可以达到反溢出的目的。
当然,这是微软的一厢情愿罢了。因为越过这个限制也并不是一件难事。

3.可以绕过DEP吗?如果可以,如何绕过呢?
答案是肯定的,可以绕过。即使是硬件上的DEP保护也是可以的。
有一个API,改变指定内存页的属性的,VirtualProtect(),当然,还有其它的API,如
VirtualProtectEx(),ZwProtectVirtulMemory(),不过都是封闭在VirtualProtect()中。
所以,我们溢出的时候,把返回地址设计为这个API的地址,再精心构造一个栈为调用这个API的栈,就可以
改变当前栈的内存页的属性,使其从"不可执行"变成"可执行".
这个过程的示例如下面的一段代码

_test proc
;push 04
;invoke VirtualProtect,esp,30h,PAGE_EXECUTE_READWRITE,esp
;pop eax
mov dword ptr [esp+18h],4
mov eax,esp
add eax,18h
mov dword ptr [esp+14h],eax;lpOldProtection
mov dword ptr [esp+10h],40h;dwNewProtection
mov dword ptr [esp+0ch],30h;dwRegionSize
mov dword ptr [esp+8],esp;dwStartAddress
mov dword ptr [esp],VirtualProtect;func addr
mov eax,esp
add eax,1ch
mov dword ptr [esp+4],eax;return address from VirtualProtect
mov dword ptr [esp+1ch],90909090h;our shellcode
ret
_test endp


4.DEP在内核中到底是如何实现的?
这个问题我曾经费不了少时间去找答案,从内存操作的API上来看,
有标准内存管理API,虚拟内存管理API,堆管理API,内存映射文件API
从内存管理的结构上来看,有VAD,有PFN,有PTE,PDE,有段
一开始我认为windows可能会在任何一个层面上做文章,可能是VAD,也可能是PFN,也可能是PTE
并且我认为VAD的可能性比较大,因为PTE没有相关的bit位表示此页有没有可执行属性。PFN也没有。
VAD倒是有相关的位表示页的可执行属性。
经过一点点的测试和排除,发现VAD与此并没有关系,用VirtualProtect()改变页的属性时,此页对应
的VAD的flag位竟然毫无变化。
那么只剩下PFN和PTE了,发现这个API调用前后,PFN的restore pte这个字段有变化,PTE的低双字却
没有一点变化,高双字我时候我没有关心,我一直认为高双字是用于寻址4G以外的物理内存地址的。
然后我手动把PFN的restore pte改变成上面提到的API改成的值,但是结果却让人失望,我拷入shellcode
的页还是不可执行。
尽管这时,我还是没有意识到PTE的高双字发生的变化,并为此付出了代价,那就是二夜一天的对VirtualProtect()
相关API的反汇编。
VirtualProtect()调用了VirtualProtectEx()
VirtualProtectEx()调用了ZwProtectVirtualMemory()
ZwProtectVirtualMemory()通过sysenter进入内核,EAX中存放的服务号是0x89,对应的服务是NtProtecVirtualMemory()
NtProtectVirtualMemory()又调用了MiProtectVirtualMemory()
在MiProtectVirtualMemory()内部,计算出要改变其属性的内存页的PTE的地址,新的属性,然后调用
MiFlushTbAndCapture()改变PTE的属性,但是我当时也只是看到把PTE的属性从067变成了027,和可执行属性还是
没有关系,然后我再深入到MiFlushTbAndCapture()中,发现它主要又是调用KeFlushSingleTb()来改变指定PTE
的属性的,深入到KeFlushSingleTb()内部,它主要是调用KeInterlockedSwapPte()来改变指定PTE的属性。
而KeInterlockedSwapPte()的内部是比较简单的,来看看它的反汇编代码:

nt!KeInterlockedSwapPte:
80541c08 53 push ebx
80541c09 56 push esi
80541c0a 8b5c2410 mov ebx,dword ptr [esp+10h] ;ebx=新的PTE值所在变量的地址
80541c0e 8b74240c mov esi,dword ptr [esp+0Ch] ;esi=PTE地址
80541c12 8b4b04 mov ecx,dword ptr [ebx+4] ;ecx=新PTE值高双字
80541c15 8b1b mov ebx,dword ptr [ebx] ;ebx=新PTE值低双字
80541c17 8b5604 mov edx,dword ptr [esi+4] ;edx=旧PTE值高双字
80541c1a 8b06 mov eax,dword ptr [esi] ;eax=旧PTE值低双字
80541c1c 0fc70e cmpxchg8b qword ptr [esi]


看到关键点了吧,就是一个cmpxch8b指令,这个指令是干什么的呢?
执行的操作:edx,eax与DST相比较
如果 (edx,eax)=(dst)
则 ZF=1,(dst)<-(ecx,ebx)
否则 ZF=0,(edx,eax)<-dst
很简单,如果新的PTE属性和旧的不等,把PTE属性设置为新的属性。如果相等,则实际上等于不进行操作。
从这里我才发现,他把PTE的高双字设置为0了,以前的值是0x80000000.
所以,DEP是通过PTE的高双字的最高bit即bit63来实现的,这个位置位了,表示此页不可执行。没有置位,
表示此页可以执行。而win2k下面的页目录和页表项只有32个bit,所以不可能提供DEP的这个保护位,因此
DEP只有在64bit的PTE上才能实现。而只有cr4的bit5即PAE启用的时候,PTE才为64bit。
所以,可以这么说吧,intel的奔腾CPU是早就有PAE属性位的,可以支持64位的页表项,而windows系统
只有win2k的某个版本,winxp和win2003的某个server pack版本的内核才支持64的页表项。
不管怎样,PTE的第63位控制着页的可执行属性,我后来查了IA,在IA的修正说明中,才提到这一点,并
把这个位叫做EXB,却对此位的作用一字为提。
但是我们是不能在ring3下操作PTE的,所以,绕过DEP还是得用return-to-lib的经典方式返回到VirtualProtect()
来改变当前栈的属性。



完美解决方案:
打开IE8浏览器,选择菜单“工具”->“Internet 选项”->“高级”->“(安全)启用内存保护以减少联机攻击*”,去掉前面的勾勾,并重启IE8。再进入需要安装ActiveX控件的页面(例如:支付宝、财付通、网上银行..等等..),出现ActiveX控件提示的时候选择启用,大概尝试2~3次就一切正常了。



Data Execute Prevention (DEP) - 数据执行保护

关闭XP的DEP数据保护:
  对C:\boot.ini文件进行修改,首先你要改变它的只读属性,右键单击该文件选择“属性”,然后取消选择“只读”。然后你可以用记事本来对它进行编辑,找到以multi(0)disk(0)开头的条目,在那一行的结尾应该是/fastdetect选项,如果你安装了SP2,就还能看到/noexecute选项,这正是DEP生效的标志。你可以将/noexecute改为/execute,然后重新启动机器。

关闭Vista的DEP数据保护:
在运行里输入 bcdedit.exe /set {current} nx AlwaysOff 回车运行就可以了。



Private Sub ZipOrRar()
'将C盘的test文件夹压缩为test.rar文件
Shell App.Path + "\WinRar.exe M C:\test.rar C:\test"
End Sub

Private Sub UnZipOrRar()
'将test.rar解压缩在C盘下
Shell App.Path + "\WinRar.exe X C:\test.rar C:\"
End Sub



小巷思维:
  不是进,就是退,要么成功,要么就放弃,这就是小巷思维!
  由于人在小巷当中,不是进,就是退,所以很容易造成压力,压力一多,就容易失控,一旦失控,就面临失败,到底是什么把人推向小巷当中呢?答案是你自己,人们总是想要用最快、最好、最省力的方法来达到目的,结果在不知不觉当中,就走入了小巷当中!
  一辆好车,最重要的不是速度,而是刹车,做事也一样,必要的时候刹车,思考一下,停顿一下。也许事情不是像我们自己感受的那样,只要走出小巷就可以看见一片蓝天。
  人总是想着用最快、最好、最省力的方法来达到目的,不知不觉中就把自己推到小巷当中。
  所以我们必须随时停下来,看看自己是在小巷之中还是在一片平原当中,小巷只有进和推,而平原四面八方都是路。
  当我们只是一味往前走,而不是进进出出找出路时,其实我们一点都没有往前走,而是在转迷宫,总也转不出出路。
  突破小巷思维,凌空跃起,审视整件事情,退一步海阔天空。

---------------------------------

  其实在任何时候,我们都是有更多选择的,这取决于一个人的视野,实力,经验和思维方式。就好比在高尔夫球场,你有很多选择,很多路,因为你是在一个很有余地的位置上的。

  所以永远都不要把自己放在那样一个“小巷”里,去做“前进”还是“放弃”的“生死抉择”,首先要明确的是“你想得到什么?”是金钱,名誉,还是地位?对商人来说“利益”是最重要的,明确了这点以后,再去想办法。

  小时候看电视就知道“好人,坏人”,但其实还有很多“不好不坏”或“时好时坏”的人(看美剧之后就很深刻的体会到这一点),世上皆事如此,除了黑,白以外,灰色地带是最大的。曾有人说过我不会使用“迂回”的方法,一是因为我真的不会,二是因为,自己觉得那是一种“手段”,利用这种“手段”去做事是很不光明正大的。

注:除了蓝色字体部分,其他均为转载。这个……很值得思考……