c# pdf to image pdfsharp : Convert fillable pdf to html form SDK software service wpf winforms asp.net dnn sophos-securing-websites0-part747

A SophosLabs technical paper - October 2011
By Chris Mitchell 
Updated by Fraser Howard, Threat Researcher, SophosLabs UK, 2011
Securing 
websites
Convert fillable pdf to html form - C# PDF Form Data fill-in Library: auto fill-in PDF form data in C#.net, ASP.NET, MVC, WinForms, WPF
Online C# Tutorial to Automatically Fill in Field Data to PDF
c# fill out pdf form; convert excel spreadsheet to fillable pdf form
Convert fillable pdf to html form - VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
VB.NET PDF Form Data fill-in library: auto fill-in PDF form data in vb.net, ASP.NET, MVC, WinForms, WPF
create a pdf form that can be filled out; create a pdf with fields to fill in
Securing websites
1
A SophosLabs technical paper - October 2011
Contents
1. Abstract 
2
2. Introduction 
2
3. Secure foundations 
3
3.1 Internet Information Services (IIS) 
4
3.2 Apache HTTP Server 
4
3.3 PHP and MySQL 
5
3.4 Active Server Pages (ASP) 
5
3.5 Security 
6
4. External Web Hosting 
7
4.1 Shared dedicated hosting 
7
4.2 Virtual dedicated hosting 
7
4.3 Dedicated hosting 
7
5. Design yourself safer 
8
5.1 Cookies 
8
5.2 Authentication 
9
5.3 Components, libraries and add-ons 
9
5.4 Log Files 
10
6. Breaking the code 
11
6.1 SQL injection 
11
6.2 XSS (cross-site scripting) 
12
7. A study of how easy it is 
13
8. Compromised web sites – webmaster tips 
14
8.1 How was the site hacked? How did the attackers ‘get in’? 
14
8.2 What is required to clean up the site? 
15
8.3 How to prevent the site being hit again 
15
9. References & Further Reading 
16
C# Create PDF from OpenOffice to convert odt, odp files to PDF in
Convert OpenOffice Text Document to PDF with embedded fonts. An advanced .NET control to change ODT, ODS, ODP forms to fillable PDF formats in Visual C# .NET.
change font size in pdf fillable form; convert pdf fillable form
C# PDF Field Edit Library: insert, delete, update pdf form field
A professional PDF form creator supports to create fillable PDF form in C#.NET. An advanced PDF form maker allows users to create editable PDF form in C#.NET.
converting pdf to fillable form; adding signature to pdf form
Securing websites
2
A SophosLabs technical paper - October 2011
1. Abstract
This paper discusses some of the common 
ways that web servers are attacked and 
details various techniques in which they 
– and by extension the websites they host – 
can be protected.
2. Introduction
For systems like servers that are designed 
to be ‘always on’, security is an important 
issue. Web servers are the backbone of the 
internet. They provide the core services and 
functionalities of the billions of websites 
around the world and, as a result, act as a 
repository for the personal data of everyone 
who visits them. Ensuring that servers are 
secure from outside attack is a prime concern 
for any organisation who rely on them.
In the last few years attacks against web 
servers have increased substantially. As the 
map below shows (fig 1), it is immaterial 
where in the world you base a web server: 
malicious code respects no boundaries. The 
threat is not only international, but now 
comes from organised criminal gangs looking 
to redirect user traffic, harvest passwords, 
financial details and other information, 
rather than teenage hackers looking to cause 
mischief. In most cases an attack occurs 
unobtrusively, with servers and websites 
corrupted with malware designed to infect as 
many users as possible.
Web servers are particularly vulnerable 
as they are ‘open’ by nature, with users 
encouraged to send and receive information 
to them. The HTTPD (HTTP server daemon), 
database software and code behind a 
website can each be re-written by a criminal 
and their original function altered.
However, that is not to say that web 
servers cannot be protected. They can, but 
it requires an integrated approach from 
website administrators, programmers and 
designers alike, with areas such as anti-virus 
software, operating systems (OS) and access 
permissions requiring constant review.
This paper will explore many of the common 
areas that lead to a compromised web 
server and the ways of preventing them.
fig 1. Global attacks against web servers
C# Create PDF Library SDK to convert PDF from other file formats
HTML webpage to interactive PDF file creator freeware. Create and save editable PDF with a blank page, bookmarks, links Create fillable PDF document with fields.
attach file to pdf form; add fillable fields to pdf
VB.NET Create PDF from OpenOffice to convert odt, odp files to PDF
PDF in VB.NET, VB.NET convert PDF to HTML, VB.NET convert PDF to Convert OpenOffice Spreadsheet data to PDF. Turn ODT, ODS, ODP forms into fillable PDF formats.
change font in pdf fillable form; convert pdf to fillable pdf form
Securing websites
3
A SophosLabs technical paper - October 2011
3. Secure foundations
The first step in designing, building or 
operating a secure website is ensuring that 
the server that hosts it is as safe as possible.
A web server is made up of layers that 
provide multiple avenues of attack, as the 
diagram below shows. Remember, each 
block is a possible target (fig 2).
The foundation of any server is the OS and 
the secret to ensuring that it remains secure 
is simple: keep it updated with the latest 
security patches. Doing so could not be 
easier, with Microsoft
1
, together with many 
flavours of Linux, allowing organisations 
to apply the patches automatically or 
launching them with a simple mouse click.
However, remember that hackers too 
automate their own attempts with malware 
designed to jump from server to server until 
it finds one which is unpatched. This is why 
it is important to ensure that your patches 
are up-to-date and installed properly, as any 
server running old patches will become a 
victim.
You also need to remember to update any 
software components that run on a web 
server. Anything that is non-essential, such 
as DNS servers and remote administration 
tools like VNC or Remote Desktop, 
should be disabled or removed. If remote 
administration tools are essential, however, 
then avoid using default passwords or 
anything that can be easily guessed
12
. This is 
not only applicable for remote access tools, 
but user accounts, switches and routers as 
well.
The next area to be addressed is anti-virus 
software. This is a must for any web server 
– whether it running Windows or Unix – and, 
combined with a flexible firewall, is one 
of the strongest forms of defence against 
security breaches. When a web server is 
targeted the attack will attempt to upload 
hacking tools or malware immediately, so 
as to take advantage of the security breach 
before it is fixed. Without a good anti-
virus package, a breach in security can go 
unnoticed for a significant amount of time.
fig 2. Web Server Layers
Operating System
HTTP Server
MYSQL 
Server
Other 
services, FTP, 
SMTP, etc.
FrontPage Server Extensions
Apache Server Modules
Website 1
Website 2
Website n
Blog Software
Image Gallery
CMS
VB.NET Create PDF Library SDK to convert PDF from other file
Best VB.NET component to convert Microsoft Office Word Create and save editable PDF with a blank page Create fillable PDF document with fields in Visual Basic
convert word form to pdf fillable form; best pdf form filler
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Create fillable and editable PDF documents from Excel in Create searchable and scanned PDF files from Excel in VB Convert to PDF with embedded fonts or without
convert pdf fillable form to word; .net fill pdf form
Securing websites
4
A SophosLabs technical paper - October 2011
When it comes to defence, a multi-layered 
approach is best. In the frontline are the 
firewall and the OS, while in the trenches is 
the anti-virus, ready to rush in and fill any 
gaps that present themselves.
In summary:
Ì Do not install software components you 
do not need. Every component is a risk, 
the more there are, the greater the risk
Ì Keep your OS and applications patched 
with the latest security updates
Ì Use anti-virus, enable automatic 
updates and regularly check that 
these are installed correctly
Some of these tasks might appear onerous, 
but do not forget that just a single security 
hole is enough for an attacker. The potential 
risks include stolen data and bandwidth, 
server IP blacklisting, the negative impact 
on an organisation’s reputation and the 
possibility that your website could become 
unstable.
The next most important piece of software 
is the HTTPD itself, with the two most 
popular alternatives being ISS and Apache.
3.1 Internet Information Services (IIS)
ISS is part of Microsoft Windows and is a 
popular and commonly used web server, as 
it requires very little configuration.
When implementing it, however, it is worth 
remembering the following:
Ì Disable default services such as FTP and 
SMTP unless you need them. Disable 
the directory browsing function unless 
it is required as it allows visitors to see 
which files are running on your system.
Ì Disable any FrontPage Server 
Extensions that are not being used.
You should also keep ISS fully updated, 
which can be done by simply enabling the 
Auto Update function that is found in the 
Windows Control Panel.
3.2 Apache HTTP Server
Apache is a highly configurable and well-
maintained open source web server. It 
requires a more detailed configuration to 
deploy successfully, but provides greater 
control over a web server. Most Apache 
servers run on Linux/BSD, but it can also run 
on Windows.
Because configuring Apache is complex, 
there is not space in this paper to detail the 
entire procedure. However, the following 
tips
2,3,4 
are worth bearing in mind:
Ì Deny resource access by default and only 
allow resource functionality as desired.
Ì Log all web requests as they help 
identify suspicious activity.
Ì Subscribe to the Apache Server 
Announcement mailing list which can 
send updates, patches and security fixes.
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Convert to PDF with embedded fonts or without original fonts fast. Convert multiple pages PowerPoint to fillable and editable PDF documents.
convert an existing form into a fillable pdf; convert word form to fillable pdf
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Create PDF files from both DOC and DOCX formats. Convert multiple pages Word to fillable and editable PDF documents.
convert pdf forms to fillable; convert word to pdf fillable form
Securing websites
5
A SophosLabs technical paper - October 2011
Websites that require a more complicated 
functionality sometimes augment their 
HTTPD with a server-side interpreter via 
CGI (Common Gate Interface). The two most 
popular are PHP and ASP.
3.3 PHP and MySQL
PHP is one of the most common server-
side scripting languages. It has a very 
large functional code base, simple syntax, 
adaptable code and, most importantly, 
interacts with a large number of database 
formats. MySQL is one of the most popular 
database choices to use in conjunction 
with PHP as it is fast, feature-rich, easy to 
configure and use.
PHP has often been accused of being 
security-lax as over the years many 
exploitable bugs have been found within it. 
However, it has matured steadily and most 
of the bugs tend to be avoidable by either 
configuring the installation correctly and/or 
writing the code securely.
Here are some configuration tips (writing 
secure code is covered in a later section) 
that relate to the variables in the “php.ini 
file:
Ì Set ‘register_globals’ off
Ì Set ‘safe_mode’ on
Ì Set ‘open_basedir’ to the base 
directory of the website
Ì Set ‘display_errors’ off
Ì Set ‘log_errors’ on
Ì Set ‘allow_url_fopen’ off
For more information on these configuration 
directives and why they are important, 
please see
6,8
.
When MySQL is installed
9
it creates a 
default ‘test’ database and an open ‘root’ 
account that is password-free. The root 
account is then automatically given free 
access to every other database on the server 
which is why it is important to:
Ì Change the root password immediately.
Ì Create a new MySQL user and give 
it the bare minimum privileges.
Ì Remove the test database and test users.
3.4  Active Server Pages (ASP)
ASP is a Microsoft add-on that is supported 
by IIS, though there is also an Apache 
implementation. ASP is integrated in IIS and 
so usually requires little or no configuration.
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Convert multiple pages Word to fillable and editable PDF documents in both .NET WinForms and ASP.NET. Convert both DOC and DOCX formats to PDF files.
convert fillable pdf to html form; add signature field to pdf
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Convert multiple pages PowerPoint to fillable and editable PDF documents. Easy to create searchable and scanned PDF files from PowerPoint.
fillable pdf forms; create pdf fill in form
Securing websites
6
A SophosLabs technical paper - October 2011
IIS 6 34%
IIS 5 9%
nginx 3%
Other 3%
Apache 51%
fig 3. On-access scanning
3.5 Security
Anti-virus is generally the final line of 
defence against an attack which is why 
web servers, particularly those dealing with 
dynamically generated content, should have 
on-access scanning enabled at all times. As 
the chart below shows (fig 3), no web server 
is safe from malware. No matter how secure 
you think your web server is, there is always 
a chance that it will get hacked. On-access 
scanning significantly reduces the chance 
of malicious code running on the system as 
it can scan in both ‘on read’ and ‘on write’ 
modes, and can then deliver an immediate 
notification as soon as any piece of malware 
tries to store itself on the server.
While on-access scanning can affect the 
throughput of the server slightly, but the 
added security benefits far outweigh any 
possible performance issues. There are 
also areas of the system, such as the 
HTTPD log folder, that can be excluded 
from the scan, which further reduces any 
impact on the system.
Attacks against web servers can be 
generally categorised into two main types: 
local and global.
Ì Local attacks usually attempt to 
steal information or take control 
of a specific web server.
Ì Global attacks are generally targeted 
towards multiple websites and aim 
to infect anyone visiting them.
Although Linux and BSD are regarded 
in some quarters as more secure than 
Windows, they are certainly not exempt 
from organised crime. They can – and 
should – have anti-virus software installed. 
Even if malware cannot execute on the host 
server because it is protected with anti-virus 
software, it can still be served up as valid 
content to website users as some hackers 
upload it in PHP or ASP, thus rending the OS 
of the web server redundant.
It is also possible for servers to become 
infected across a local network. The Fujacks 
family of worms, for example, infect HTML, 
PHP and ASP files over shared drives and 
network shares.
Securing websites
7
A SophosLabs technical paper - October 2011
4. External Web Hosting
Most organisations do not have the 
hardware or stability of bandwidth to 
host their own web server and as such 
use external providers. There are three 
alternatives that are suitable for small and 
large organisations:
Ì Shared dedicated hosting.
Ì Virtual dedicated hosting.
Ì Dedicated hosting.
4.1 Shared dedicated hosting
This is possibly the most used and abused 
of all forms of web hosting and involves 
a dedicated server hosting multiple 
websites. It is one of the cheapest forms of 
hosting and consequently one of the most 
dangerous, as it can take just one infected 
user to infect everybody else using the 
server.
An excellent real-life example of the 
problems inherent with shared hosting can 
be found in the following SophosLabs Blog 
posting:
http://nakedsecurity.sophos.com/2010/11/ 
30/large-us-hosting-provider-hit-in-web-
attack/
4.2 Virtual dedicated hosting
Virtual dedicated servers – sometimes 
referred to as elastic servers – are created 
by using virtualization software to run 
a number of separate, self-contained 
virtual servers on just one machine. This is 
appropriate for any growing organisation as 
each user have access to their own OS and 
server software.
4.3 Dedicated hosting
Dedicated servers are exclusively reserved 
for one user. There are typically two forms 
available: managed and unmanaged.
Ì Managed servers have staff to take 
care of duties such as managing local 
security issues and troubleshooting.
Ì Unmanaged servers are unmonitored 
and slightly cheaper to operate, as any 
assistance would have to be bought in.
Of the three options presented here, virtual 
dedicated hosting seems to be the most 
efficient; being generally cheaper than 
dedicated hosting but retaining the latter’s 
flexibility and security.
Securing websites
8
A SophosLabs technical paper - October 2011
5. Design yourself safer
No matter what you do and no matter how 
small your website, it will be attacked. 
Design is intrinsic to security as it can 
reduce the damage caused by viruses, 
spyware and other malware.
Try putting yourself in the attacker’s shoes 
and use common sense to plug glaring 
holes. Some website mistakes are made 
so commonly – by beginners and old hands 
alike – that it is worth going over them here.
5.1 Cookies
One of the main problems encountered 
when designing a web application is that 
every request for a new page is dealt with 
independently from the previous request. 
Asking a web application to ‘remember me’ 
is therefore more difficult than it is in normal 
applications.
There are two methods that web 
applications use to remember visitors and 
which are supported by most browsers: 
cookies and session cookies.
Ì A cookie is a small file that is created 
by the browser and stored on the user’s 
computer. It can contain virtually anything, 
but is usually a name, an expiry date 
and an arbitrary amount of data like: 
“Count = 100” or “Member = false”.
Ì A session cookie is similar to a regular 
cookie, except it allows web applications 
to store the data in memory.
The difference between the two is that a 
cookie is stored directly onto the user’s 
computer and stays resident unless 
manually deleted. A session cookie, 
meanwhile, is only saved as long as a 
computer is switched on, and so is lost 
automatically as soon as the browser is 
closed. They do have something in common: 
they can both be tampered with.
Developers often trust the data they retrieve 
from cookies simply because they developed 
the code and so it must be good, right? 
Wrong. Hackers can easily modify a cookie 
(and in some cases live session data) to 
fool a website into giving them access to a 
restricted page.
When designing your system never trust 
user input, whether it comes directly from 
visitors, or indirectly through cookies. Try 
and limit the amount of data that is stored 
in cookies, especially if it is data that should 
not be made available to the public. A good 
rule is to treat any data that is stored on an 
end-user machine as suspect.
MySpace.com was targeted by a Trojan 
(JS/SpaceStalk-A) early this year, which 
stole information stored in cookies and 
transmitted it to a remote server. This 
information could theoretically contain 
confidential information such as login 
names, internet preferences and passwords.
Securing websites
9
A SophosLabs technical paper - October 2011
5.2 Authentication
If your website contains areas that are only 
intended for certain customers or registered 
users, you need a way for visitors to identify 
themselves before they gain access
7
.
There are a number of ways to authenticate 
users: basic authentication, digest 
authentication and HTTPS.
Ì Basic authentication allows a username/
password combination to be visible inside 
the web request. Even if the restricted 
content is not especially secret this is 
best avoided, since a user might use the 
same password on many sites. A Sophos 
poll showed that 41% of users use the 
same password for all online activity, 
whether it is a banking site or a local 
community forum
13
. Try to protect your 
users against this mistake by using a 
more secure authentication method.
Ì Digest authentication – which all popular 
servers and browsers support – encrypt 
the username and password securely 
inside the request. It keeps user names 
and passwords secure, which creates a 
better impression on the user and reduces 
the chance of your server being abused.
Ì HTTPS encrypts all data transferred 
between the browser and the server, 
not just the username and password. 
You should use HTTPS (which relies 
on a security system called Secure 
Sockets Layer, or SSL) whenever you 
are asking users to provide private or 
personal data such as their address, 
credit card or banking details.
When choosing an authentication system, it 
is good practice to choose the best available. 
Anything less will worry security-conscious 
customers and possibly expose them to 
unnecessary risks.
5.3 Components, libraries and add-ons
Many web developers do not have time 
to reinvent the wheel. When asked to add 
a feature that is common elsewhere the 
simplest approach is to source a package 
that already contains the necessary 
component and customise it. Such 
outsourcing occurs primarily with complex, 
feature-rich micro-applications such as 
blogs, forums and content management 
systems (CMS).
The reason for using pre-built and 
customisable systems are obvious: they 
save time and money.
Like all pieces of software, however, add-ons 
can contain flaws and so it is wise to keep 
an eye on any packages that are in use and 
update them regularly. The popularity of 
some of these packages can sometimes 
instil a misleading sense of trust among the 
public and many of the popular products 
have been found to be exploitable, even 
when apparently installed and configured 
correctly.
Documents you may be interested
Documents you may be interested