自己構造 Create IRP

2021-04-02 22:23:23 字數 2902 閱讀 4303

ntstatus irpcreate(in punicode_string name,in access_mask desiredaccess,in ulong fileattributes,in ulong shareaccess,in ulong createdisposition,in ulong createoptions,in pdevice_object deviceobject,in pdevice_object realdevice,in pfile_object relatedfileobject,out phandle returnhandle,pvoid* returnobject)i慱(鏈?=

k筍w"?~

memset(fileobject,0,sizeof(file_object));碹?乿耚xq

fileobject->type=5;ぜh"y?"€@?

fileobject->size=sizeof(file_object);玬=濤w槨鼊

fileobject->flags=fo_synchronous_io;lp陀醃噻?

fileobject->deviceobject = realdevice;nd?y摎躱

fileobject->relatedfileobject = relatedfileobject;6b暋撰菩#

keinitializeevent(&fileobject->lock,synchronizationevent,false);y娍 ?[?

keinitializeevent(&fileobject->event,synchronizationevent,false);8y捛+湏騶

fileobject->filename.buffer = (pwstr)exallocatepool(nonpagedpool,name->maximumlength);j?垡忂碸;

rtlcopyunicodestring(&fileobject->filename,name);氼hg^睒&?

pirp->userevent=&event;0u%

pirp->useriosb=&iostatusblock;?nm豬?b?

pirp->tail.overlay.thread = (pethread)kegetcurrentthread();蚿a儚?注

pirp->tail.overlay.originalfileobject=fileobject;pl6}?墨?

pirp->requestormode=kernelmode;輯p鋜 ab

pirp->flags=irp_create_operation|irp_synchronous_api;弢mfx?鼏

pirp->pendingreturned=false;s?猙幙糝

pirp->cancel=false;觥孛麛郩{

pirp->mdladdress=null;l湨 2圐紃?

pirp->cancelroutine=null;妴覆^'罌?

pirp->tail.overlay.auxiliarybuffer=null;€(+l珦|ml?

iostack = iogetnextirpstacklocation(pirp);寫孠袇 r?

iostack->majorfunction=irp_mj_create;菃,g?|

iostack->deviceobject=deviceobject;_:?$|y瓔?

iostack->fileobject=fileobject;奘t?擁??

iosecuritycontext.accessstate = &accessstate;?c憃師??

iosecuritycontext.desiredaccess = desiredaccess;濾e沫惙%m|

iosecuritycontext.securityqos=null;h笴鉛? /q

iosecuritycontext.fullcreateoptions=0;廿鈖o@k?#

iostack->parameters.create.securitycontext=&iosecuritycontext;焬?xa丮

iostack->parameters.create.options=(createdisposition<<0x18)|createoptions;?竄к焣瞣

iostack->parameters.create.fileattributes = (ushort)fileattributes;芿?惸啞v

iostack->parameters.create.shareaccess = (ushort)shareaccess;ll€鸌1篢u?

iostack->parameters.create.ealength=0;廠雘t錛塏

iostack->context=null;??滔

iostack->control=sl_invoke_on_cancel|sl_invoke_on_success|sl_invoke_on_error;^4?連燃

iostack->completionroutine = iocompletionroutine;墢gmr %u?

status = iocalldriver(deviceobject,pirp);5娩樼g^辺?

if(status == status_pending)猷.餾? ?

kewaitforsingleobject(&event,executive,kernelmode,false,null);r倬畛=??

status=iostatusblock.status;c垘*労置}?

if(nt_success(status))e.i餃ft

炆恤嵐w?

return status;??奼齓鋟

}ˊ朧ler筬s

齲龜??

void myreferenceobject(pfile_object fileobject)狾敽》v -

自己構造注入點

一種是通過conn.asp獲知資料庫帳戶密碼以後 自己構造,另乙個是通過搜尋檢視源 構造注入點。第一種 適用條件 已經獲得 的資料庫鏈結檔案,但不是sa許可權 當然如果是mdb資料庫那就很簡單了,直接下下來就ok了,這裡只是針對mssql資料庫而言 由於入侵 並沒有注入漏洞所以,無法注入,但是我們可...

自己構造注入點方便入侵

自己構造注入點方便入侵 今天看了rootkit論壇裡面有人要我寫出來關於偽造乙個注入點,然後方便滲透,找到更多的可利用的資訊 這兩天一直考試,想了下,就先仍出來,有什麼問題可以提出來,我們一起討論!首先你要拿了乙個webshell,這樣你找到連線資料庫的檔案,大多都是conn.asp這個檔案裡面有m...

自己構造注入點方便入侵

首先你要拿了乙個webshell,這樣你找到連線資料庫的檔案,大多都是conn.asp這個檔案裡面有mssql的使用者和 因為我測試的時候是用管理員的表,我朋友說任何表名都可以,只要這個表存在,如下 程式 set rs server.createobject adodb.recordset id r...