- "An ethical hacking project focused on exploring vulnerabilities in NFC-enabled ATM cards. It analyzes security flaws and attack vectors, demonstrating potential exploits in NFC-based financial systems for educational purposes. This project is part of my cybersecurity studies to enhance understanding of NFC security risks."
- This project is an educational initiative designed for ethical hacking and cybersecurity purposes. It demonstrates how NFC (Near Field Communication) technology can be leveraged in an ATM-like system to detect, validate, and log NFC card data securely. The purpose of this project is entirely educational and ethical, aimed at helping students and professionals understand cybersecurity vulnerabilities and solutions.
This project is strictly for educational purposes and adheres to ethical hacking principles. It is not intended for unauthorized or malicious activities. The author is a student of ethical hacking and cybersecurity, committed to enhancing security awareness and developing secure systems.
-
An ethical hacking project focused on exploring vulnerabilities in NFC-enabled ATM cards. It analyzes security flaws and attack vectors, demonstrating potential exploits in NFC-based financial systems for educational purposes. This project is part of my cybersecurity studies to enhance understanding of NFC security risks.
-
This project is an educational initiative designed for ethical hacking and cybersecurity purposes. It demonstrates how NFC (Near Field Communication) technology can be leveraged in an ATM-like system to detect, validate, and log NFC card data securely. The purpose of this project is entirely educational and ethical, aimed at helping students and professionals understand cybersecurity vulnerabilities and solutions.
Key Technologies:
- Arduino-based NFC reader using ESP8266 and PN532 module.
- Python Flask server for data storage and visualization.
- SQLite database for persistent storage.
- HTML, CSS, and JavaScript for web-based data display.
- Reads NFC card data (UID, type, length, and expiration date).
- Detects cloned cards using pre-configured known UIDs.
- Sends NFC data to a Python Flask server over Wi-Fi.
- Indicates success or failure with an onboard LED.
- Receives and stores NFC data into an SQLite database.
- Serves data as JSON for programmatic access.
- Provides an intuitive web interface to view stored data in both tabular and card-style formats.
- Table View: Displays all NFC transactions in a clean, sortable table.
- Card View: Visualizes each NFC card's data in a stylish, animated format.
- Arduino IDE installed.
- Python 3.x installed.
- Flask and SQLite libraries.
- Wi-Fi-enabled hardware (e.g., NodeMCU with ESP8266).
-
Hardware Connection:
- PN532 NFC module connected to ESP8266 or Arduino as per the pin configuration in the code.
-
Code Upload:
- Open the Arduino IDE.
- Replace the placeholder values in the code:
const char* ssid = "Enter_your_ssid"; const char* password = "Enter_your_password"; const char* serverUrl = "Enter_your_ip/save_nfc_data";
- Upload the sketch to the ESP8266 or Arduino.
-
Install required Python libraries:
pip install flask
-
Initialize the SQLite database:
python server.py
The server will create the
nfc_data.dbfile automatically. -
Run the server:
flask run --host=0.0.0.0 --port=5000
- Access the server at
http://<server_ip>:5000. - View the NFC data in both tabular and card formats.
.
├── Nfc_reading.ino # Arduino code for the NFC reader.
├── server.py # Flask server for handling NFC data.
├── templates/
│ └── index.html # Web interface template.
└── nfc_data.db # SQLite database file (auto-generated to save).
- Power on the Arduino-based NFC reader.
- Swipe an NFC card on the reader.
- The card data will be:
- Logged on the Arduino's serial monitor.
- Sent to the Flask server for storage.
- View the data on the web interface at
http://<server_ip>:5000.
Contributions are welcome to improve the project! Please ensure all updates maintain the ethical intent of the project.
This project is licensed under the MIT License. See the LICENSE file for details.
Author: Abdul AJ
Email: rahmana8154@gmail.com


