รายละเอียดเฉพาะของการใช้ XMLHTTP เพื่อสร้างขโมยนั้นล้าสมัยแล้ว หลายคนเคยโพสต์และพูดคุยเรื่องนี้ แต่ในกระบวนการสร้างขโมย ASP หลายคนพบว่าขโมย ASP นั้นไม่ทรงพลังเท่ากับขโมย PHP อันที่จริง หากมีการส่งแบบฟอร์มหรือการตรวจสอบคุกกี้บนเว็บไซต์ดั้งเดิม อาจเป็นเรื่องยากสำหรับ ASP ที่จะเสร็จสมบูรณ์โดยไม่ต้องใช้ส่วนประกอบที่ใช้ SOCKET ที่จริงแล้ว XMLHTTP อีกสองวิธีนั้นถูกละเลย และนี่คือ กุญแจสำคัญของปัญหา
ก่อนอื่นเรามาพูดถึงวิธีนี้กันก่อน
1. .ส่ง()
เนื่องจากหัวขโมยชื่อดังใช้ GET แทน POST ในการส่งข้อมูล หลายๆ คนจึงเพิกเฉยต่อวิธีนี้ จึงเป็นเรื่องง่ายมากที่จะใช้ SEND ในการส่งข้อมูล ซึ่งก็คือ SEND (เนื้อหา)
การส่งแบบฟอร์มไม่ใช่เรื่องง่าย เพราะหากแบบฟอร์มที่คุณส่งเป็นภาษาจีน ก็จะเกี่ยวข้องกับปัญหาการเข้ารหัส
ก่อนอื่น คุณต้องแน่ใจว่าใช้ POST เมื่อ OPEN นั่นคือ .open(POST, ที่อยู่ ไม่ว่าจะเป็นแบบอะซิงโครนัสหรือไม่ก็ตาม)
จากนั้นเพิ่มเนื้อหาของแบบฟอร์มของคุณใน SEND ตัวอย่างเช่น แบบฟอร์มที่คุณต้องการส่งมีช่องแบบฟอร์มสามช่อง ได้แก่ A, B และ C และค่าที่สอดคล้องกันคือ 1, 2 และ 3 ตามลำดับ เมื่อคุณส่ง คุณสามารถส่งแบบฟอร์มโดยเขียนแบบนี้ .send(A=1&B=2&C=3) แล้วไงล่ะ ง่ายมาก ไม่คาดคิดเหรอ? แต่อย่าดีใจเร็วจนเกินไป อย่างที่บอกไปแล้ว ถ้าค่าของฟอร์มเป็นภาษาจีนจะเกิดข้อผิดพลาดในการส่งข้อมูล ที่นี่เราใช้ฟังก์ชัน Escape() เพื่อนที่คุ้นเคยกับ JAVASCRIPT ควรทราบบทบาทของฟังก์ชันนี้ด้วย ตอนนี้ VBSCRIPT ก็รองรับฟังก์ชันนี้เช่นกัน .send(A=escape('value1')&B=escape('value2')&C=escape('value3')) .
2. .setRequestHeader()
ตามข้างต้น ข้อมูลของคุณจะถูกส่งออกไป แต่อีกฝ่ายจะไม่ได้รับข้อมูลดังกล่าว จริงๆ แล้วเป็นเพราะส่วนหัว HTTP ของคุณขาดหายไป จากนั้นคุณสามารถใช้ฟังก์ชันนี้เพื่อเพิ่มข้อมูลดังกล่าวได้ setRequestHeader(CONTENT-TYPE,application/x-www-form-urlencoded) บอกอีกฝ่ายว่าคุณส่งแบบฟอร์ม urlencoded
เอาล่ะ ตอนนี้เราได้พูดคุยเกี่ยวกับการส่งแบบฟอร์มแล้ว เรามาพูดถึงวิธีการส่งคุกกี้กันดีกว่า
ในความเป็นจริง การส่งคุกกี้ก็ทำได้ง่ายมาก คุณยังสามารถใช้ฟังก์ชันนี้เพื่อเพิ่มสิ่งต่างๆ ในส่วนหัว HTTP ได้
cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145
ตอนนี้ฉันต้องการส่งคุกกี้นี้โดยตรง setRequestHeader(Cookie,cdb_sid=ybBiK0; cdb_cookietime=315360000; cdb_oldtopics=D869008D; cdb_visitedfid=1D45; cdb_auth=AQYHXVFDGERdsggVQA1VYUgxQDwFVV1dUAlwFAFRXVwU%2FbAIJB1lUCg; cdb_fid45=1113370145)
แน่นอนว่าหน้าเว็บไซต์บางหน้ามีฟังก์ชั่นการตัดสินหน้า ซึ่งไม่ใช่เรื่องยาก นั่นก็คือ setRequestHeader (Referer ที่อยู่ที่แน่นอนของแหล่งที่มา)