A. 涓鏂囩埥 鏂囦欢涓婁紶婕忔礊鍘熺悊銆佹柟娉曞拰绫诲瀷璇︾粏瑙f瀽
鏂囦欢涓婁紶婕忔礊锛氬師鐞嗕笌闃叉姢绛栫暐
鍦╓eb寮鍙戜腑锛屾枃浠朵笂浼犲姛鑳界湅浼煎钩鍑★紝瀹炲垯闅愯棌鐫璇稿氬畨鍏ㄩ庨櫓銆傛伓鎰忕敤鎴峰埄鐢ㄦ枃浠朵笂浼犳紡娲烇紝鍙浠ユ嶅叆鎭舵剰鑴氭湰锛屽圭綉绔欒繘琛屾帶鍒躲傚叧閿鍦ㄤ簬锛屾湇鍔″櫒瀵逛笂浼犳枃浠剁殑瀹℃煡鏄鍚﹀埌浣嶃備负浜嗛槻鎶ゆょ被婕忔礊锛屾垜浠闇瑕佹繁鍏ョ悊瑙e叾鍘熺悊骞堕噰鍙栨湁鏁堢殑绛栫暐銆
鍘熺悊瑙f瀽锛
- 鎭舵剰鑴氭湰涓婁紶锛氱敤鎴蜂笂浼犵湅浼兼e父鐨勬枃浠讹紝浣嗗疄闄呬笂鍖呭惈鎭舵剰浠g爜锛屽.php鎴.js锛屾湭缁忚繃涓ユ牸妫鏌ュ氨鍙鑳藉艰嚧鎵ц屻
- 椋庨櫓鐐硅瘑鍒锛氬ご鍍忋佽韩浠借よ瘉銆佹枃浠朵笂浼犲姛鑳介兘鏄甯歌佺殑椋庨櫓鐐癸紝鍔″繀鍦ㄤ腑闂翠欢灞傝繘琛屽℃煡锛屾煡鎵綜MS銆佺紪杈戝櫒鎴栧凡鐭ユ紡娲烇紙濡侰VE锛夈
瀹炴垬绛栫暐锛
1. 涓闂翠欢瀹¤锛氶栧厛妫鏌ユ湇鍔″櫒閰嶇疆锛屽绘壘瑙f瀽婕忔礊锛屽侾HP瑙f瀽鍣ㄣ丆MS鎻掍欢绛夈
2. 瀛楀吀鎵鎻忎笌楠岃瘉锛氫娇鐢ㄥ伐鍏疯繘琛屾祴璇曪紝鍙鑳介渶瑕侀獙璇佹垨灏濊瘯缁曡繃闃叉姢鏈哄埗銆
3. 缁曡繃鎶鏈鍒嗙被锛
- JS闃叉姢锛氬傜佺敤JS鎴栭粦鍚嶅崟鏈哄埗锛堝.php銆乺ar锛夛紝鍚屾椂鍒╃敤.htaccess鏂囦欢璋冩暣瑙f瀽瑙勫垯銆
- 鐗规畩瀛楃﹀埄鐢锛氬傜偣锛.锛夊拰%00瀛楃︼紝鍙浠ヨ繘琛屽ぇ灏忓啓缁曡繃銆佺偣缁曡繃鎴栬矾寰勬埅鏂銆
瀹夊叏瀹炶返锛
- 鐧藉悕鍗曠瓥鐣锛氶檺鍒朵笂浼犵殑鏂囦欢绫诲瀷锛屼緥濡俲pg銆乸ng绛夈
- MIME绫诲瀷妫鏌锛氶氳繃淇鏀笴ontent-Type瀛楁垫潵娆洪獥鏈嶅姟鍣ㄣ
- 澶嶆潅缁曡繃鎶宸锛氬寘鎷浣嗕笉闄愪簬鏂囦欢澶存娴嬨佷簩娆℃覆鏌撱佹潯浠剁珵浜夊拰鍑芥暟缁曡繃锛堝俫etimagesize銆乪xif_imagetype锛夈
鍦╱pload-labs鎸戞垬涓锛屾瘡鍏抽兘鏈夐拡瀵规х殑闃插尽绛栫暐锛屼緥濡傜鍗佷竴鍏崇殑鐧藉悕鍗曞拰绗鍗佷簩鍏崇殑瑙g爜绛栫暐锛岄渶瑕佸瘑鍒囧叧娉ㄥ苟瀛︿範搴斿广
婕忔礊淇澶嶄笌闃茶寖鎺鏂斤細
- 瑙f瀽婕忔礊淇澶锛欼IS銆丄pache鍜孨ginx鍒嗗埆閲囧彇绂佹墽琛屻侀噸鍛藉悕鏂囦欢鍜岄厤缃瀹夊叏閫夐」绛夋帾鏂姐
- HP-FastCGI婕忔礊锛氬崌绾Nginx鐗堟湰浠ラ伩鍏%00绌哄瓧鑺傛墽琛屾紡娲炪
- 缂栬緫鍣ㄦ紡娲锛氬规祦琛岀紪杈戝櫒濡俇Editor銆乪WebEdit绛夎繘琛屽畨鍏ㄦ洿鏂板拰閰嶇疆銆
闃插尽鎵嬫电殑娣卞寲锛
- WAF缁曡繃锛氶氳繃鏁版嵁鍖呰В鏋愬拰鍙傛暟鍚嶈В鏋愭妧宸э紝闇鍏虫敞鎭舵剰鏁版嵁鐨勬敞鍏ユ柟寮忋
- 鐗规畩瀛楃︾粫杩囨妧宸锛氬寘鎷鎹㈣屻佸垎鍙锋埅鏂浠ュ強瀛楁靛悕鐨勫彉鎹㈠拰閲嶅嶆暟鎹鍒╃敤銆
鎯宠佹洿娣卞叆鍦颁簡瑙h繖浜涙妧宸у拰瀹炴垬搴旂敤锛屽彲浠ュ弬鑰冮摼鎺ヤ腑鐨勮︾粏鏁欑▼鍜屾祴璇曠粨鏋溿傛渶鍚庯紝纭淇濆畨鍏ㄤ慨澶嶆帾鏂斤紝濡傚悗绔楠岃瘉銆佺櫧鍚嶅崟杩囨护銆佹潈闄愯剧疆鍜屽唴瀹规娴嬶紝鏄闃叉㈡枃浠朵笂浼犳紡娲炵殑鍏抽敭姝ラゃ
缁撹猴細鏂囦欢涓婁紶婕忔礊鐨勯槻鑼冨苟闈炴槗浜嬶紝瀹冮渶瑕佸紑鍙戣呭叿澶囨繁鍏ョ殑鎶鏈鐞嗚В锛岀粨鍚堝疄闄呭満鏅閲囧彇澶氱嶉槻寰℃墜娈点傛寔缁鍏虫敞鏈鏂扮殑婕忔礊鍔ㄦ佸拰瀹夊叏鏇存柊锛屾槸淇濋殰Web瀹夊叏鐨勯噸瑕佷竴鐜銆
B. 文件上传漏洞如何搭建
文件上传是Web应用中比较常见的功能,用户经常会通过文件上传的功能分享照片、修改头像或上传附件等操作;文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力;文件上传本身是一个网站正常的业务需求,但如果文件在上传之后,服务器端没有妥善的处理,就会导致严重的后果。简单写一个php上传代码演示php上传漏洞。
1.首先搭建phpstudy的安装环境,在phpstudy网站根目录建立php演示文件夹,放入php文件上传代码。
2.php文件上传漏洞演示代码,代码未限制任何文件属性的上传。
3.
写一个phpinfo.php文件,通过浏览器访问进行上传。
4.
提示上传成功,保存于uploads路径中,可以猜想保存路径为http://10.10.10.1/php/uploads
5.
尝试访问phpinfo.php文件使用刚才猜想的路径,http://10.10.10.1/php/uploads/phpinfo.php,phpinfo函数被执行。
C. 文件上传漏洞
在上网的过程中,经常会将一些如图片、压缩包之类的文件上传到远端服务器进行保存。文件上传攻击指的是恶意攻击者利用一些站点没有对文件的类型做很好的校验,上传了可执行的文件或者脚本,并且通过脚本获得服务器上相应的权利,或者是通过诱导外部用户访问、下载上传的病毒或木马文件,达到攻击的目的。为了防范用户上传恶意的可执行文件和脚本,以及将文件上传服务器当做免费的文件存储服务器使用,我们需要对上传的文件类型进行白名单(非黑名单,这点非常重要)校验,并且限制上传文件的大小,上传的文件需要进行重新命名,使攻击者无法猜测到上传文件的访问路径。
对于上传的文件来说,不能简单地通过后缀名称来判断文件的类型,因为恶意攻击可以将可执行文件的后缀名称改成图片或者其他后缀类型,诱导用户执行。因此,判断文件类型需要使用更安全的方式。很多类型的文件,起始的几个字节内容是固定的,因此,根据这几个字节的内容,就可以确定文件类型,这几个字节也被称为魔数( magic number)。
D. 常见36种WEB渗透测试漏洞描述及解决方法-文件上传
漏洞描述:文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严或webserver相关解析漏洞未修复而造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件,进而远程控制网站服务器。
解决方法:
在前后端对上传文件类型限制,如后端的扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小,或将上传文件放在安全路径下;严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击;对上传文件格式进行严格校验及安全扫描,防止上传恶意脚本文件;设置权限限制,禁止上传目录的执行权限;严格限制可上传的文件类型;严格限制上传的文件路径;文件扩展名服务端白名单校验;文件内容服务端校验;上传文件重命名,并隐藏上传文件路径。