Bootstrap创建者Mark Otto在一个GitHub问题中表示,将停止Bootstrap v3相关的工作:
『长话短说,v4已经耗时太久了。我知道,我们得努力腾出足够的时间,以便更快地处理打开的问题和PR。为了帮助达成这个目标,我要从v3相关的工作中腾出时间。这里,我概括了剩余的几个主要步骤,以便大家知道关于v4还有哪些工作要做。』
任意代码保护 - 防止非图像支持的执行代码和代码页修改(例如VirtualAlloc / VirtualProtect创建/修改的代码) 阻止低完整性图像 阻止远程图像 阻止不受信任的字体 代码完整性守护者 禁用Win32k系统调用 不允许子进程 导出地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤 导入地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤 模拟执行 验证API调用(CallerCheck) 验证图像依赖完整性 验证堆栈完整性
xperf - “PROC_THREAD + LOADER”-f“wdeg_klogger.etl” xperf -start“WDEG” - “Microsoft-Windows-Security-Mitigations:0xFFFFFFFFFFFFFF:0xFF:'stack'”-f“wdeg_unmerged.etl”
xperf -stop -stop“WDEG”-d“wdeg_merged.etl”

#include #include using namespace std;void* CreateCodeInVirtualMemory(BOOL writable)
{ BYTE code[3] = { 0x33, 0xc0, 0xc3 }; LPVOID result = VirtualAlloc(NULL, sizeof(code), MEM_COMMIT | MEM_RESERVE, writable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE); if (result)
{
memcpy(result, code, sizeof(code));
} else cout << "VirtualAllocEx failed with error " << GetLastError() << endl; return result;
}void CreateCodeInVirtualMemoryAndExecute(BOOL useWritableMemory)
{ LPTHREAD_START_ROUTINE addr = (LPTHREAD_START_ROUTINE)CreateCodeInVirtualMemory(useWritableMemory); if (addr)
{ DWORD result = addr(NULL);
cout << "Code at 0x" << hex << (void*)addr << " returned " << result << endl;
} else cout << "NULL address was not executed" << endl;
}void ExecuteIllegalMemory()
{
CreateCodeInVirtualMemoryAndExecute(FALSE);
}
void PrintOptions()
{
cout << "Enter one of the following options:" << endl;
cout << "1 - Execute Memory Not Marked As Executable" << endl;
cout << "2 - Create Code in Virtual Memory" << endl;
cout << "3 - Create Code in Virtual Memory and Execute" << endl;
cout << "0 - Exit" << endl;
}void DecisionLoop()
{ while (true)
{ int selection;
PrintOptions();
cin >> selection; switch (selection)
{ case 0: return; case 1:
ExecuteIllegalMemory(); break; case 2:
CreateCodeInVirtualMemory(TRUE); break; case 3:
CreateCodeInVirtualMemoryAndExecute(TRUE); break; default:
cout << "Invalid input" << endl;
}
}
}int main()
{
DecisionLoop(); return 0;
}谷歌Chrome浏览器曾被Chapin信息服务公司曝光,在当前的主流主流Web浏览器中,谷歌Chrome在密码管理方面的安全性最低。
今日,国外媒体报道,谷歌Chrome浏览器的秘密存储政策受到安全评论员和媒体观察人士的批评。他们说,这是Chrome浏览器的一个安全漏洞,允许接入用户计算机的任何人看到用户的全部密码。
// bad
var once
, upon
, aTime;
OurJS网站之前一直使用Bing实现站内搜索,基本原理是搜索时添加关键字 site:ourjs.com 即可限定只搜索 ourjs.com 网站内的内容。因此在实现时需要通过JavaScript改变最终的搜索词。
但有用户反应对中文支持不太友好,并且提交 Sitemap 后,百度收录速度明显快于Bing。现在已经换成了百度搜索。
