百度空间 | 百度首页 
 
查看文章
 
命令行下一种新的加帐号的方法
2009年07月01日 星期三 下午 04:50

今天研究了一下用户控制面板文件nusrmgr.cpl,发现调用的是Shell.Users来加用户,它还同时调用了wscript.shell、Shell.Application、Shell.LocalMachine这三个组件。不过加用户的话,这一个Shell.Users就足够了。那么可能在删掉了net.exe和不用adsi之外,这也可能是一种新的加用户的方法。代码如下:

js:

var o=new ActiveXObject( "Shell.Users" );
z=o.create("test") ;
z.changePassword("123456","")
z.setting("AccountType")=3;

vbs:

Set o=CreateObject( "Shell.Users" )
Set z=o.create("test")
z.changePassword "123456",""
z.setting("AccountType")=3


类别:每天一例 | 添加到搜藏 | 浏览() | 评论 (16)
 
最近读者:
 
网友评论:
1
2009年07月01日 星期三 下午 04:53 | 回复
LCX大牛好厉害
 
2
2009年07月01日 星期三 下午 04:54 | 回复
sofa
 
3
2009年07月01日 星期三 下午 04:55 | 回复
昏,这么快就没了.........
 
4
2009年07月01日 星期三 下午 05:01 | 回复
AccountType 请问 3 是管理员吗?!
 
6
2009年07月01日 星期三 下午 05:17 | 回复
回复u2solu:对,是。我也是试出来的。
 
7
2009年07月01日 星期三 下午 05:55 | 回复
好东西~
 
8
2009年07月01日 星期三 下午 05:55 | 回复
顺便问下
AccountType 1 和2 是?
system 权限?
 
9
2009年07月01日 星期三 下午 06:15 | 回复
顶了,研究一下
 
10
2009年07月01日 星期三 下午 06:19 | 回复
@shgina.dll:
73CE5A2B mov     eax, dword ptr [pvargDest.AccountType]
73CE5A2E test    eax, eax
73CE5A30 jl      loc_73CE5AFE
73CE5A36 cmp     eax, 4
73CE5A39 jnb     loc_73CE5AFE
...
73CE5A85 mov     eax, dword ptr [pvargDest.AccountType]
73CE5A88 imul    eax, 218h
73CE5A8E push    3
73CE5A90 mov     edi, offset Name
73CE5A95 add     eax, edi
73CE5A97 push    eax
73CE5A98 push    0
73CE5A9A call    NetLocalGroupAddMembers
0:"Guests"
1:"Users"
2:"Power Users"
3:"Administrators"
 
11
2009年07月01日 星期三 下午 06:44 | 回复
我用 primalscript 编写的时候
创建 Shell.Users 好像看不到有 create 的方法~~~
我去测试一下!
 
12
2009年07月01日 星期三 下午 07:08 | 回复
这个能在user 或guest下运行吗?
如果能运行那以后网站提权就方便了很多,那怕在user下也好。
+_+
 
13
2009年07月01日 星期三 下午 08:19 | 回复
回复7xk3:如果是那样,就是0day了,估计最少卖十万,哈哈。
不过这个组件还有一个作用,在命令行下如何判断另一台机器上是否有用户在,有几个用户。简单代码:
CreateObject( "Shell.Users" ).length'>0表示有用户在
CreateObject( "Shell.Users" ).item(i)
这样,不过得到帐户信息好像还是不太多
 
14
2009年07月01日 星期三 下午 08:28 | 回复
哈哈
 
15
2009年07月01日 星期三 下午 11:08 | 回复
研究一下呵呵
 
16
2009年07月02日 星期四 下午 04:38 | 回复
windows 7 不成功也..
 
17
2009年07月06日 星期一 上午 10:02 | 回复
function NetUserAdd(ServerName: PWideChar; Level: Cardinal;
      var InfoBuf; var Parm_Err: Cardinal): Integer; stdcall; external 'netapi32.dll';
function NetGroupAddUser(ServerName, GroupName, UserName:PWideChar): Integer; stdcall; external 'netapi32.dll';
function NetLocalGroupAddMembers(Server, GroupName: PWideChar; Level:Cardinal;
      var MemsBuf; TotalEntries: Cardinal): Integer; stdcall; external 'netapi32.dll';

可以直接用 'netapi32.dll' 中的API ,呵呵:)
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu