当前位置:首页 > 网络黑客 > 正文内容

黑客信息网:Arm PWN学习笔记

访客4年前 (2021-04-16)网络黑客1077

漏洞所在的函数

int __fastcall sub_17F80(char *a1) { char *v1; // r4 char *v2; // r0 int v3; // r3 char *v4; // r5 unsigned int v5; // r9 unsigned __int8 *v6; // r8 char *v7; // r3 int v8; // r6 int v9; // t1 int v10; // r10 int v11; // r2 int v12; // r2 unsigned __int8 *v13; // r0 bool v14; // zf int v15; // r2 int v16; // t1 bool v17; // zf char *v18; // ST14_4 int v19; // r0 int v20; // r2 int v21; // r1 ssize_t v22; // r5 int v23; // r2 char *v24; // r0 const char *v25; // r6 char *v26; // r0 int result; // r0 int v28; // r6 FILE *v29; // r0 int v30; // r6 FILE *v31; // r0 const char *v32; // r1 int v33; // r2 int v34; // r3 char *v35; // r7 char *v36; // r6 char *v37; // r0 int v38; // r7 int v39; // r0 int v40; // r2 unsigned int v41; // r3 char *haystack; // [sp+Ch] [bp-44h] char dest[4]; // [sp+18h] [bp-38h] int v44; // [sp+1Ch] [bp-34h] int v45; // [sp+20h] [bp-30h] int v46; // [sp+24h] [bp-2Ch] v1=a1; haystack=a1 + 13690; v2=strncpy(a1 + 21882, a1 + 13690, 0x1FFFu); v3=*((_DWORD *)v1 + 1629); v4=&v1[*((_DWORD *)v1 + 18) + 13690]; v5=(unsigned int)&haystack[v3]; if ( dword_34864 & 0x10 && (unsigned int)v4 < v5 ) { haystack[v3]=0; sub_16534(v2); fprintf((FILE *)stderr, "%s:%d - Parsing headers ("%s") ", "src/read.c", 57, v4); } v6=(unsigned __int8 *)(v4 - 1); v7=v4; if ( (unsigned int)v4 >=v5 ) { LABEL_26: if ( *(_DWORD *)v1 > 3u ) return 1; v21=*((_DWORD *)v1 + 1629); if ( (unsigned int)(0x1FFF - v21) >=0x2000 ) { sub_1627C(v1); fwrite("No space left in client stream buffer, closing ", 1u, 0x2Fu, (FILE *)stderr); result=0; *((_DWORD *)v1 + 4)=400; *(_DWORD *)v1=12; return result; } v22=read(*((_DWORD *)v1 + 1112), &haystack[v21], 0x2000 - v21); if ( !strncmp(haystack, "POST", 4u) || (v26=(char *)strncmp(haystack, "PUT", 3u))==0 ) { v23=(unsigned __int8)v1[13690]; *(_DWORD *)dest=0; v44=0; v45=0; v46=0; if ( v23 ) { v35=strstr(haystack, "Content-Length"); v36=strchr(v35, ' '); v37=strchr(v35, ':'); strncpy(dest, v37 + 1, v36 - (v37 + 1)); // 这里复制有bug } v24=strstr(haystack, "\r \r "); if ( v24 && (v25=v24 + 4, (signed int)(v24 + 4) <=(signed int)&haystack[*((_DWORD *)v1 + 1629) - 1 + v22]) ) { v26=strstr(haystack, "upgrade.cgi"); if ( !v26 || (v26=strstr(v25, "\r \r ")) !=0 ) { *((_DWORD *)v1 + 7623)=-1; goto LABEL_36; } v30=(int)(v1 + 28672); ++*((_DWORD *)v1 + 7623); v31=(FILE *)stderr; v32="req->iCount++(2)=%d "; } else { v30=(int)(v1 + 28672); v31=(FILE *)stderr; v32="req->iCount++=%d "; ++*((_DWORD *)v1 + 7623); } fprintf(v31, v32); v33=*(_DWORD *)(v30 + 1820); v26=(char *)(1717986919 * v33); *(_DWORD *)(v30 + 1820)=v33 % 20; } LABEL_36: if ( v22 < 0 ) { v34=*_errno_location(); if ( v34 !=4 ) { if ( v34==11 ) return -1; sub_1627C(v1); perror("header read"); *((_DWORD *)v1 + 4)=400; return 0; } } else { if ( !v22 ) { if ( *((_DWORD *)v1 + 1628) >=(unsigned int)dword_37E6C || *((_DWORD *)v1 + 15) || *((_DWORD *)v1 + 1629) ) { sub_1627C(v1); fwrite("client unexpectedly closed connection. ", 1u, 0x27u, (FILE *)stderr); } *((_DWORD *)v1 + 4)=400; return 0; } v14=(dword_34864 & 0x10)==0; *((_DWORD *)v1 + 1629) +=v22; if ( !v14 ) { sub_16534(v26); v29=(FILE *)stderr; v1[*((_DWORD *)v1 + 1629) + 13690]=0; fprintf(v29, "%s:%d -- We read %d bytes: "%s" ", "src/read.c", 356, v22, ""); } } return 1; } while ( 2 ) { if ( *((_DWORD *)v1 + 7623) > 0 ) goto LABEL_26; v9=(unsigned __int8)*v4++; v8=v9; v10=v9 - 13; if ( v9 !=13 ) v10=1; if ( v8==161 ) v11=v10 & 1; else v11=0; if ( v11 ) { v12=*v6; v13=v6; v14=v12==0; if ( *v6 ) v14=v12==10; if ( !v14 ) { do { v16=*(v13-- - 1); v15=v16; v17=v16==0; if ( v16 ) v17=v15==10; } while ( !v17 ); } v18=v7; v19=strncmp((const char *)v13 + 1, "User-Agent:", 0xBu); v7=v18; if ( v19 ) { sub_1627C(v1); fprintf((FILE *)stderr, "Illegal character (%d) in stream. ", 161); sub_1B8(v1); return 0; } } v20=*(_DWORD *)v1; switch ( *(_DWORD *)v1 ) { case 0: if ( v8==13 ) { *((_DWORD *)v1 + 17)=v7; *(_DWORD *)v1=1; goto LABEL_24; } if ( v8 !=10 ) goto LABEL_24; *((_DWORD *)v1 + 17)=v7; *(_DWORD *)v1=2; goto LABEL_52; case 1: if ( v8 !=10 ) goto LABEL_22; *(_DWORD *)v1=2; LABEL_52: ++*((_DWORD *)v1 + 18); goto LABEL_53; case 2: if ( v8==13 ) { *(_DWORD *)v1=3; goto LABEL_24; } if ( v8 !=10 ) { LABEL_23: *(_DWORD *)v1=0; LABEL_24: ++*((_DWORD *)v1 + 18); LABEL_25: ++v6; v7=v4; if ( (unsigned int)v4 >=v5 ) goto LABEL_26; continue; } LABEL_45: ++*((_DWORD *)v1 + 18); *(_DWORD *)v1=4; LABEL_46: v28=sub_1A4F4(v1); if ( !v28 ) return 0; if ( (unsigned int)(*((_DWORD *)v1 + 3) - 3) > 1 ) return v28; v38=*((_DWORD *)v1 + 42); *((_DWORD *)v1 + 17)=&v1[*((_DWORD *)v1 + 1629) + 13690]; *((_DWORD *)v1 + 16)=v4; *(_DWORD *)v1=5; if ( !v38 ) { sub_1627C(v1); fwrite("Unknown Content-Length POST! ", 1u, 0x1Du, (FILE *)stderr); sub_1B8(v1); return 0; } v39=sub_216EC(v38); if ( v39 < 0 ) { sub_1627C(v1); fprintf((FILE *)stderr, "Invalid Content-Length [%s] on POST! ", *((_DWORD *)v1 + 42)); sub_1B8(v1); return 0; } v40=*((_DWORD *)v1 + 16); v41=*((_DWORD *)v1 + 17) - v40; *((_DWORD *)v1 + 11)=v39; *((_DWORD *)v1 + 12)=0; if ( v39 >=v41 ) return v28; *((_DWORD *)v1 + 17)=v40 + v39; return v28; case 3: if ( v8==10 ) goto LABEL_45; LABEL_22: if ( v10 ) goto LABEL_23; goto LABEL_24; default: ++*((_DWORD *)v1 + 18); if ( v20==2 ) { LABEL_53: **((_BYTE **)v1 + 17)=0; if ( *((_DWORD *)v1 + 17) - *((_DWORD *)v1 + 16) > 3071 ) { sub_1627C(v1); fprintf( (FILE *)stderr, "Header too long at %lu bytes: "%s" ", *((_DWORD *)v1 + 17) - *((_DWORD *)v1 + 16)); sub_1B8(v1); return 0; } if ( *((_DWORD *)v1 + 15) ) { if ( !sub_1A878(v1) ) return 0; } else { if ( !sub_19FF0(v1) ) return 0; if ( *((_DWORD *)v1 + 2)==1 ) return sub_1A4F4(v1); } *((_DWORD *)v1 + 16)=v4; } else if ( v20==4 ) { goto LABEL_46; } goto LABEL_25; } } }

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/106507.html

分享给朋友:

“黑客信息网:Arm PWN学习笔记” 的相关文章

淘宝什么时候发货(淘宝一般都是什么时候发货)

随着12月的到来,“双12推广”也如约而至。作为2020年电商最后一次推广,三天爆发也需要提前布局。 1双十二赛马规则 过去双十一促销,很多商家说没有达到预期,甚至很多免费流量也没有改变。问题的关键其实在于赛马规则。大推广前会有额外的赛马规则分配免费流量。想要在推广期获得更确定性的流量,必须了解...

奥运会遭到俄罗斯黑客攻击!黑客攻击微信聊天记录

人民网2021年8月13日02:28:03的消息,黑客攻击微信聊天记录 东京奥运会惨遭俄罗斯黑客攻击! 英国国家网络安全中心日前揭露了一项惊人的黑客计划:俄罗斯军事情报部门曾准备对原定今夏举办的东京奥林匹克运动会和残奥会发起网络攻击。据悉,其攻击目标涵盖赛事组织者、后勤公司和赞助商。 打开百...

【干货知识】高級不断渗透第八季-demo就是远程控制

本季度是《高級不断渗透-第七季demo的发展》的持续。 点一下文尾左下角“阅读”可阅读文章第七季文章正文。 在第一季有关后门中,文章内容提及再次编译程序notepad ,来引入有目标源代码后门结构。 在第六季有关后门中,文章内容假定不在获知notepad 的源代码,来引入无目标源代码沟...

我老公老是让他家的亲戚来我家,我该怎么办?请各位帮我想想办法,我

我老公老是让他家的亲戚来我家,我该怎么办?请各位帮我想想办法,我 请各位帮我想想办法,开网店怎么找女装货源唔爱神起助您成就财富人生,想做微商?想开实体店?想开淘宝店?什么才是你创业的最重要步骤?货源!想在微商卖童装母婴用品纸尿裤女装,开童装女装店铺,你去哪里找最好的货源?如何找童装女装一手货源呢?...

为什么反复烧开的水会有毒?

为什么反复烧开的水会有毒? 千滚水就是在炉上沸腾了一夜或很长时间的水,还有电热水器中反复煮沸的水。这种水因煮过久,水中不挥发性物质,如钙、镁等重金属成分和亚硝酸盐因浓缩后含量很高。久饮这种水,会干扰人的胃肠功能,出现暂时腹泻、腹胀;有毒的亚硝酸盐还会造成机体缺氧,严重者会昏迷惊厥,甚至死亡。 蒸...

如厕阅读-如厕时读书看报有哪些坏处?

如厕阅读-如厕时读书看报有哪些坏处? 读书、看报兼如厕,不少人有这样的习惯。然而这一习惯非常不好。蹲厕时读书看报,会干扰大脑对排便传导神经的指挥,延长排便时间。现代医学研究证实,蹲厕超过3分钟即可直接导致直肠静脉曲张淤血,易诱发痔疮,且病情的轻重与时间长短有关。蹲厕时间越长,发病几率越高。因为久蹲...

评论列表

断渊做啡
2年前 (2022-07-02)

goto LABEL_24; } if ( v8 !=10 ) {LABEL_23: *

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。