I did some digging and found that it was a known problem with WebLogin. It’s fixed in later versions (supposedly) so you might upgrade your version.
Otherwise, the problem seems to be in this code in weblogin.inc.php.
if ($useCaptcha){
<tr>
<td valign="top">Form code:*</td>
<td>
<input type="text" name="formcode" class="inputBox" style="width:150px" size="20">
<a href="[+action+]"><img align="top" src="manager/includes/veriword.php?rand=<?php echo rand(); ?>" width="148" height="60" alt="If you have trouble reading the code, click on the code itself to generate a new random code." style="border: 1px solid #003399"></a>
</td>
</tr>
$useCaptcha is undefined here so you get no captcha image.
You could try adding a parameter to the weblogin call: &useCaptcha=`1`
If that doesn’t work, you could hack the code and put this near the beginning of the assets/snippets/weblogin/weblogin.inc.php file: