Four miles into a 10-mile marathon training session in Seattle last week, Kelly Herron, 36, made a pit stop at Golden Gardens Park to hit up the public restroom. Then, every woman's worst nightmare happened: a strange man turned up in the bathroom, intent to attack her.

"As I was drying my hands, I became aware that something was wrong," Herron told Good Morning America last Friday. Her instincts were right. When she turned around, she discovered a man police later identified as Gary Steiner, a 40-year-old registered sex offender, lurking.

Advertisement - Continue Reading Below

"He immediately took me down to the ground, hit both my knees and legs, and then it was a fight on the bathroom floor and I just kept screaming, 'not today m***** f*****,'" Herron recounted to GMA.

Immediately, Herron went into defense mode, fighting back with moves she learned in a self-defense class she'd taken at work weeks earlier. Reminders like "hard bones go in soft fleshy places" came to mind as she struggled and screamed her head off — repeating her "battle cry" of "not today m***** f****." Steiner reported running into a stall to avoid the man and, when he entered from the side and started hitting her in the face repeatedly, she defended herself by scratching him.

"I fought for my life, screaming, clawing his face, punching back, and desperately trying to escape his grip — never giving up," Herron shared in a now-viral Instagram post last week that showed her injuries. Her post also included a red-lined map of her movements around the public bathroom, caught by her GPS watch.

Advertisement - Continue Reading Below

"All those little things that I learned in my life ... how to punch and everything came back to me," she told GMA. "I started to feel like I was going to lose consciousness ... but I got another surge of adrenaline, and I reached for the door and was able to get out."

Eventually Herron was able to escape the bathroom. A passerby had a carabiner and they locked Steiner in the bathroom while they waited for police. "The police said I did an awesome job and did a pretty good number on his face," Herron recalled.

Advertisement - Continue Reading Below

Advertisement - Continue Reading Below

Herron later posted his mugshot photos — and some more choice words — as proof:

If faced with an assault like this, where you're cornered, self-defense experts all agree: Be loud and retaliate. Jordan Giarratano, an instructor at Fighting Chance Seattle, also shared these four key things to remember with GMA:

Trust your intuition. If something feels off, it probably is.

Be loud. Scream your head off, like Herron did.

Respond immediately. Don't wait for someone else to make a move.

If you do have to engage physically, hit with open hand – you don't have to punch someone.

Steiner is now being held on bail for attempted rape and second degree assault charges, ABC News reports. In the end, Herron was lucky and serves as an example for potential victims on what do if facing the same terrifying experience.

"My face is stitched, my body is bruised, but my spirit is intact," Herron said in her Instagram post.

A Part of Hearst Digital Media
Good Housekeeping participates in various affiliate marketing programs, which means we may get paid commissions on editorially chosen products purchased through our links to retailer sites.