finding the registered URL protocols

转载 2007年09月27日 21:51:00
****************************************************************************************
URIFind is a small tool for finding all of the registered URL protocols in your system,
it is useful for reviewing security vulnerabilities about URL protocols, do you remember
the recent Firefox's "FirefoxURL" command injection vulnerability?:)

Example for using:

URIFind.exe > output.txt

The output file may like follows:

[callto]
rundll32.exe msconf.dll,CallToProtocolHandler %l

[file]

[FirefoxURL]
C:/PROGRA~1/MOZILL~1/FIREFOX.EXE -requestPending -osint -url "%1"

[ftp]
"C:/Program Files/Internet Explorer/iexplore.exe" %1

...

Find 21 URL Protocols

by cocoruder(frankruder_at_hotmail.com), 2007.09
****************************************************************************************/

#include
#include

void main(void)
{
HKEY hKey,hKeyQ,hKeyCmd;
DWORD cbName = MAX_PATH;
TCHAR achKey[MAX_PATH];
DWORD cSubKeys;
FILETIME ftime;
DWORD cbData = MAX_PATH;
DWORD j = 0;
DWORD tp,tp1=0,retVal;
BYTE rData[MAX_PATH],tmpBuff[MAX_PATH];
char szRecvCmdData[1024];
DWORD cbRecvCmdData;

RegOpenKeyEx(HKEY_CLASSES_ROOT, "", 0, KEY_READ, &hKey);

RegQueryInfoKey(
hKey, // key handle
NULL, // buffer for class name
NULL, // size of class string
NULL, // reserved
&cSubKeys, // number of subkeys
NULL, // longest subkey size
NULL, // longest class string
NULL, // number of values for this key
NULL, // longest value name
NULL, // longest value data
NULL, // security descriptor
NULL // last write time
);

DWORD dwAllProtocols=0;
for (j = 0; j
{
cbName=MAX_PATH;
achKey[0] = '/0';

memset(achKey,0,sizeof(achKey));

RegEnumKeyEx(hKey,
j,
achKey,
&cbName,
NULL,
NULL,
NULL,
&ftime);

if (achKey[0]==0x00)
{
continue;
}

RegOpenKeyEx(HKEY_CLASSES_ROOT, achKey, 0, KEY_QUERY_VALUE, &hKeyQ );

cbData = MAX_PATH;
memset(rData,0,sizeof(rData));
retVal=RegQueryValueEx(hKeyQ,"URL Protocol",NULL,&tp,rData,&cbData );
if (retVal == ERROR_SUCCESS)
{
sprintf((char *)tmpBuff,"%s//shell//open//command",achKey);

//get the command line
RegOpenKeyEx(HKEY_CLASSES_ROOT, (char *)tmpBuff, 0, KEY_QUERY_VALUE, &hKeyCmd);
memset(szRecvCmdData,0,sizeof(szRecvCmdData));
cbRecvCmdData=sizeof(szRecvCmdData);
retVal=RegQueryValueEx(hKeyCmd,NULL,NULL,&tp1,(unsigned char *)szRecvCmdData,&cbRecvCmdData);

printf("[%s]/n%s/n/n",achKey,szRecvCmdData);

dwAllProtocols++;

RegCloseKey(hKeyCmd);
}

RegCloseKey(hKeyQ);

}

RegCloseKey(hKey);

printf("/nFind %d URL Protocols",dwAllProtocols);

}  

【Html5 WebSocket】WebSocket构造函数

《HTML5 WebSocket权威指南》学习笔记&1在学习时WebSocket客户端API时,使用echo.websocket.org作为服务端,可以帮助学习者快速入门,减小学习难度,将较难的服务端...
  • zgljl2012
  • zgljl2012
  • 2015年05月28日 14:39
  • 1459

支付宝问题LaunchServices: ERROR: There is no registered handler for URL scheme alipay

LaunchServices: ERROR: There is no registered handler for URL scheme alipay (这句话其实是在告诉你 设备上没有安装 支付宝...
  • prl18353364833
  • prl18353364833
  • 2016年07月18日 11:28
  • 1072

URI Is Not Registered

URI Is Not Registered使用IntelliJ Maven生成archetype时候,偶然会出现xml文件的头定义提示错误 URI is not registered...
  • matthew_zhang
  • matthew_zhang
  • 2016年02月27日 22:05
  • 16087

Android Studio http://schemas.android.com/apk/res/android “URI is not registered”解决方案

问题出现描述: For me this was because I was using a debug and release build variant. I added the new fold...
  • nwsuafer
  • nwsuafer
  • 2014年12月18日 12:29
  • 30760

mybatis generator xml提示错误 - URI is not registered 解决

解决方法:  鼠标点击红色字,然后Intellij出现小红灯,选择Fetch external resource即可解决...
  • kelvingjy
  • kelvingjy
  • 2017年01月30日 11:13
  • 1028

最新支付宝集成遇到的一些坑。

最近本人项目中有集成支付宝这个需求趟了好多坑,希望大家不要继续趟这些坑了。 首先支付宝有的人集成之后会报这个错误 1.#include not find 需要在building setting --...
  • hc3862591
  • hc3862591
  • 2015年11月24日 16:35
  • 3188

URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs) in pom.xml

选中资源 fetch 参考 https://stackoverflow.com/questions/42569634/uri-is-not-registered-settings-language...
  • zljzlj1234
  • zljzlj1234
  • 2017年12月20日 14:41
  • 67

he is finding this trip very exciting

Why ing? be finding 可理解成“发现” http://zhidao.baidu.com/question/88761913.htmlfind+宾语+形容词做宾补 find trip...
  • dagouaofei
  • dagouaofei
  • 2010年06月03日 21:15
  • 1764

Finding Nemo

Finding Nemo Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 8117   A...
  • huayunhualuo
  • huayunhualuo
  • 2015年07月11日 10:11
  • 384

【持续集成CI】mac系统下安装jenkins环境

【1】环境准备 java 1.8+ 下载链接http://www.cr173.com/mac/122803.html#down-link 【2】安装jenkins 参考链接http://www.jia...
  • mashang123456789
  • mashang123456789
  • 2017年11月10日 15:10
  • 910
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:finding the registered URL protocols
举报原因:
原因补充:

(最多只允许输入30个字)