WPSeku – A Vulnerability Scanner to Find Security Issues in WordPress

WordPress is a free and open-source, highly customizable content management system (CMS) that is being used by millions around the world to run blogs and fully functional websites. Because it is the most used CMS out there, there are so many potential WordPress security issues/vulnerabilities to be concerned about.

However, these security issues can be dealt with, if we follow common WordPress security best practices. In this article, we will show you how to use WPSeku, a WordPress vulnerability scanner in Linux, that can be used to find security holes in your WordPress installation and block potential threats.

WPSeku is a simple WordPress vulnerability scanner written using Python, it can be used to scan local and remote WordPress installations to find security issues.

How to Install WPSeku – WordPress Vulnerability Scanner in Linux

To install WPSeku in Linux, you need to clone the most recent version of WPSeku from its Github repository as shown.

$ cd ~
$ git clone https://github.com/m4ll0k/WPSeku

Once you have obtained it, move into the WPSeku directory and run it as follows.

$ cd WPSeku

Now run the WPSeku using the -u option to specify your WordPress installation URL like this.

$ ./wpseku.py -u http://yourdomain.com 
WordPress Vulnerability Scanner
WordPress Vulnerability Scanner

The command below will search for cross site scripting, local file inclusion, and SQL injection vulnerabilities in your WordPress plugins using the -p option, you need to specify the location of plugins in the URL:

$ ./wpseku.py -u http://yourdomain.com/wp-content/plugins/wp/wp.php?id= -p [x,l,s]

The following command will execute a brute force password login and password login via XML-RPC using the option -b. Also, you can set a username and wordlist using the --user and --wordlist options respectively as shown below.

$ ./wpseku.py -u http://yourdomian.com --user username --wordlist wordlist.txt -b [l,x]   

To view all WPSeku usage options, type.

$ ./wpseku.py --help
WPSeku WordPress Vulnerability Scanner Help
WPSeku WordPress Vulnerability Scanner Help

WPSeku Github repository: https://github.com/m4ll0k/WPSeku

That’s it! In this article, we showed you how to get and use WPSeku for WordPress vulnerability scanning in Linux. WordPress is secure but only if we follow WordPress security best practices. Do you have any thoughts to share? If yes, then use the comment section below.

If this article helped, with someone on your team.

TecMint Weekly Newsletter
Get the Learn Linux 7 Days Crash Course free when you join 34,000+ Linux professionals reading every Thursday.
Check your email for a magic link to get started.
Something went wrong. Please try again.
TecMint has been free for 14 years. Help keep it that way.
Google AI Overviews and tools like ChatGPT have cut into search traffic for independent tech sites like TecMint. Running this site costs over $2,000 every month for hosting, infrastructure, and paying authors to keep the content accurate and tested.

If this article helped you solve a problem, consider buying a coffee. It helps keep TecMint free, supports the authors, and keeps the project going.
☕ Buy Me a Coffee
Aaron Kili
Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

6 Comments

Leave a Reply
  1. $ ./wpseku -u  -p s returns: 
    

    ]+[ Searching sql vulns…
    Traceback (most recent call last):
    File “./wpseku.py”, line 805, in
    main.WPSekuMain()
    File “./wpseku.py”, line 776, in WPSekuMain
    WPAttack(self.url,self.path,self.query,self.headers).sqlattack()
    File “./wpseku.py”, line 553, in sqlattack
    params = dict([part.split(‘=’) for part in u.query.split(‘&’)])
    ValueError: dictionary update sequence element #0 has length 1; 2 is required

    Reply

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.

Free Course
Get a free Linux course before you go.
Subscribe to TecMint Weekly and get the Learn Linux 7 Days Crash Course free. Read by 34,000+ Linux professionals every Thursday.
Something went wrong. Please try again.
Check your email for a magic link to get started.