ในความเป็นจริงไม่ว่าจะเป็นส่วนประกอบหรือการอัพโหลดที่ไม่ใช่องค์ประกอบมีช่องโหว่นี้
ที่นี่
3 ฟังก์ชั่นคีย์ต่อไปนี้:
ฟังก์ชั่น killext (byval s1) 'ระบายไฟล์ต่อท้ายที่ผิดกฎหมาย
Dim Allowext
allowext = .jpg, .jpeg, .gif, .bmp, .png, .swf, .rm, .mp3, .wav, .mid, .midi, .ra,.
avi, .mpg, .mpeg, .sf, .sx, .wma, .mov, .rar, .zip, .s, .xls, .chm, .hlp, .pdf, .pdf, .pdf, .pdf, .pdf, .pdf, .pdf, .pdf .pdf
S1 = UCASE (S1)
ถ้า len (s1) = 0 แล้ว
Killext =
อื่น
ถ้าไม่ใช่ CHK (อนุญาตให้ S1 ,,) แล้ว
killext = .shit
อื่น
killext = s1
สิ้นสุดถ้า
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น chk (byval s1, byval s2, byval fuhao) 'สตริงตรวจสอบประกอบด้วย
Dim I, a
CHK = FALSE
A = Split (S1, Fuhao)
สำหรับ i = 0 ถึง Ubound (a)
ถ้าตัดแต่ง (a (i)) = trim (s2) แล้ว
chk = true
ออกจาก
สิ้นสุดถ้า
ต่อไป
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น gname (byval n1) 'สร้างไดเรกทอรีและชื่อไฟล์โดยอัตโนมัติด้วยวันที่พารามิเตอร์ 1 สร้างไดเรกทอรีพารามิเตอร์ 2 สร้างชื่อไฟล์ (ไม่มีคำต่อท้าย)
Dim T, R
t = ตอนนี้ ()
สุ่ม (จับเวลา)
r = int ((rnd+1-1)*9999)
เลือกกรณี N1
กรณีที่ 1
gname = ปี (t) & ขวา (00 & เดือน (t), 2) & ขวา (00 & วัน (t), 2)
กรณีที่ 2
gname = ขวา (00 & ชั่วโมง (t), 2) & ขวา (00 & นาที (t), 2) & ขวา (00 & Seacond (t), 2) & ขวา (0000 & r, 4)
สิ้นสุดเลือก
ฟังก์ชันสิ้นสุด
วิธีการโทร:
หรี่
Set Out = Server.CreateObject (ไม่ว่าจะโหลด)
oup.setMaxSize 10,00000000, TRUE
โทรออก. save () 'ที่นี่ถูกอัปโหลดไปยังหน่วยความจำเซิร์ฟเวอร์และไม่มีไฟล์จริง
set ofile = oup.files (1)
ext = killext (OFILE.ext)
myfile = / & ganme (1) & / & gname (2) & ext
call ofile.saveas (server.mappath (myfile))
เพิ่มคำแนะนำ:
หากแฮ็กเกอร์อัปโหลดไฟล์ที่ผิดกฎหมายด้วย NC ไฟล์สุดท้ายเป็นเพียงไฟล์อึเช่น 200511051234559103.shit!