China, GitHub and the man-in-the-middle
What happened?
At around 8pm, on January 26, reports appeared on Weibo and Twitter that users in China trying to access GitHub.com were getting warning messages about invalid SSL certificates. The evidence, listed further down in this post, indicates that this was caused by a man-in-the-middle attack.
What is a man-in-the-middle-attack?
Wikipedia defines a man-in-the-middle-attack in the following way:
The man-in-the-middle attack...is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other over a private connection, when in fact the entire conversation is controlled by the attacker.
We go into detail about what happened later in this post, but first we will explore why we think this happened.
Why?
At the time of writing, there are 5,103,522 repositories of data on GitHub and as many possible theories as to why the Chinese authorities want to block or interfere with access. We will focus on one of these theories however please note that this is pure speculation on our part.
On January 25, the day before the man-in-the-middle attack, the following petition was created on WhiteHouse.gov:
The petition has gathered more than 8,000 signatures in the five days since. To make the idea specific, there is a link to a list of Chinese individuals accused of contributing to the technical infrastructure behind online censorship in China. And this list is hosted on - you guessed it - GitHub. The list has gathered hundreds of comments, the vast majority in Chinese. One of these comments contains the supposed address and ID number of Fang Binxing, the Principal of Beijing University of Posts and Telecommunications and often called the “Father of China's Great Firewall”.
Another comment links to another much longer list of supposed contributors to the Great Firewall, also hosted on GitHub.
About a week prior to this event, GitHub was completely blocked in China. But only a couple of days later, full access to the website was restored. This followed unusually public protest that may have forced the authorities to rethink their decision. It’s clear that a lot of software developers in China rely on GitHub for their code sharing. Completely cutting access affects big business. GitHub may just be too important to block.
That leaves the authorities in a real pickle. They can’t selectively block content on GitHub nor monitor what users are doing there. They also cannot block the website altogether lest they hurt important Chinese companies. This is where man-in-the-middle attacks make their entrance. By faking SSL certificates, the authorities can indeed intercept and track traffic to encrypted websites.
The White House petition has not been blocked. But the GitHub lists are much more interesting because they allow users to freely comment and to collaborate on the content. Because all traffic to GitHub is encrypted, and because it seems that the authorities have backed off from blocking the website completely, the only tool left in the censorship toolbox is man-in-the-middle attacks.
The attack happened on a Saturday night. It was very crude, in that the fake certificate was signed by an unknown authority and bound to be detected quickly. The attack stopped after about an hour. The whole episode seems rather irrational. It’s conceivable that one or several individuals identified on these lists as enemies of a free Internet decided to take action into their own hands. They are the technical people behind the Great Firewall and so they would clearly be capable of implementing this attack. They had a motive in that they were personally being targeted by the people behind the White House petition. And they had no other options since they had been barred from blocking GitHub completely.
While the attack was short-lived, it is possible that passwords of many GitHub users were recorded. It’s also possible that the IP addresses of users accessing certain URLs, such as these lists of GFW contributors, were tracked. The people organizing these initiatives should take great care.
The lists are alive and well. Regardless of whether the White House petition garners the 100,000 signatures necessary to warrant an official response, this is a clear sign of increased pressure on technical people helping the government to censor the Internet. The increasing public anger over censorship and organized efforts such as this one to name and shame collaborators could make it more difficult for the authorities to recruit and maintain talent in the future.
Has it happened before?
This Fat Duck blog post describes a man-in-middle attack on the Skype login page in 2011. Unlike this latest attack, the host appears to have been DNS poisoned at that time. If anything, it was an even more obvious attack, since the IP address returned was supposedly publicly registered by the Public Security Bureau. This surveillence may appear unnecessary since Skype is collaborating with Tom Online for their Chinese users and all data sent through the Tom version is already tracked. If you register and login directly through https://login.skype.com, however, you are accessing the regular Skype version hosted outside of China. It may have been an attempt to compromise users who are not using the Tom Online version of Skype.
Man-in-the-middle attacks have also been deployed in Syria to track activity, presumingly by activists, on Facebook.
Will it happen again?
GitHub is an HTTPS-only website. That means that all communication is encrypted by default. Only the end user and the GitHub server knows what information is being uploaded and downloaded. The Great Firewall, through which all traffic going out of China passes, can only know that the user is accessing data on GitHub’s servers - not what that data is. This in turn means that the authorities cannot block individual pages on GitHub - all they can do is to block the website altogether.
HTTPS effectively disables half of what the Great Firewall can do. We have argued for a long time that the reason that Gmail isn’t fully blocked is that it’s considered too important and that the backlash against closing down access would be too great. The same thing applies to the Apple App Store. It now appears that GitHub has been added to this list. Other major websites that could follow suit include Google Search and Wikipedia. With every website that switches to HTTPS, the authorities’ options are limited to two: completely blocking it, or completely allowing it. The more they fear a public reaction to complete blocks, the fewer their options become. Man-in-the-middle attacks are likely to become increasingly tempting.
As we show in the overview of browsers popular in China, further down in this post, even an invalid SSL certificate is likely to be accepted by a lot of users since the warnings are weak. If man-in-the-middle attacks become more widespread though, more users will likely learn how to understand these messages and hopefully also switch to safer browsers such as Google Chrome and Firefox.
No browser would prevent the authorities from using their ultimate tool though: certificates signed by the China Internet Network Information Center. CNNIC is controlled by the government through the Ministry of Industry and Information Technology. They are recognized by all major browsers as a trusted Certificate Authority. If they sign a fake certificate used in a man-in-the-middle attack, no browser will warn of any usual activity.
Such an attack on Gmail, for example, could mean that you would sign in to Gmail as usual and receive no warning*. However, your password and all your activity could be recorded by the authorities.
Update: Google Chrome would actually warn you, even block access, if you tried to use Gmail and received a certificate signed by a different CA. This applies to a lot of Google sites as well as other websites that "have requested it". The technique is called Public key pinning. Thanks to N.S. (see comment top-right) for the info.
The attack would be detectable by manually reviewing the SSL certificate. While the vast majority of users would not do this, one single report on such an attack would create a huge international scandal that might lead to major browsers removing their trust of CNNIC. So the authorities will likely avoid using this tool, unless they feel it’s absolutely necessary.
At the same time, completely excluding CNNIC would be a further step in isolating China from the global Internet and toward the creation of a separate Chinanet. China is too big to exclude. The international security community is simply hoping that CNNIC will behave. Chinese activists depending on the encryption offered by Gmail and now also GitHub share that hope.
If hope isn’t your thing, you can manually remove CNNIC certificates in your browser or operating system. Lost Laowai has an instructive post on how to do this. At GreatFire.org we are not big fans of trusting Chinese authorities to behave either. Our automatic censorship tests currently do not include recording and validating SSL certificates, but we will work hard to include such functionality as soon as possible.
Evidence of attack
We do not have data ourselves to show how or if this happened. We rely on the sources listed below. Many of these sources were used in this report on Solidot. That GitHub would be targeted is also supported by the fact that the site was completely blocked in China only a few days earlier.
GitHub was not subject to DNS poisoning at the time. Our own tests (of github.com as well as the https version) conducted on the same day all show the same IP address as when accessed from the US, as does the Wireshark capture file listed below. That means that the traffic must have been interfered with somewhere between end users and the GitHub server. Users were apparently communicating with the GitHub IP address, but the traffic was altered along the way and the SSL certificate sent to the user was clearly different.
For further reading, check out this discussion on YCombinator.
1. Screenshot taken by Weibo user
The screenshot shows the user trying to access GitHub using the Chrome browser and receiving a warning about an invalid SSL certificate.
2. Wireshark capture file
Uploaded by unknown user to CloudShark. Copy hosted by us.
3. Reports on Twitter
- https://twitter.com/chenshaoju/status/295139636718743552
- https://twitter.com/xierch/status/295152185052901376
4. Copy of fake SSL certificate
Uploaded by unknown user to MediaFire. Copy hosted by us. See below for a comparison of the current valid certificate and the fake one used during the attack.
The Current GitHub.com SSL Certificate | The Fake GitHub.com SSL Certificate |
---|---|
Does your browser protect you?
Man-in-the-middle attacks are not a new phenomenon. Browser providers have created features to combat them for years. This particular attack was very crude - the fake SSL certificate was not signed by a known certificate authority. Virtually all browsers would produce some sort of error, as can be seen in the screenshots above. For a full overview, we have recreated a GitHub mirror website at https://github.greatfire.org using a certificate formatted in the same way as the one used in the attack. You can visit it to get an idea of the kind of warning that would have been shown during the attack.
For an even more accurate experience, add the following to your hosts file and then browse to https://github.com.
54.235.205.92 github.com
Using the above method, we’ve taken screenshots of the warning messages shown to users in some of the most popular browsers in China as well as Chrome and Firefox which are used by a small minority but are considerably safer.
All browsers display some sort of warning. If you are in a hurry and you do not know of the risk of a man-in-the-middle attack you will likely click “continue”. If your browser is either 360 Safe Browser or Internet Explorer 6, which together make up for about half of all browsers used in China, all you need to do is to click continue once. You will see no subsequent warnings. 360’s so-called “Safe Browser” even shows a green check suggesting that the website is safe, once you’ve approved the initial warning message.
Chrome and Firefox have the highest level of security. As long as you have visited GitHub at least once prior to the attack, they won’t allow you to make security exceptions at all. The risk, of course, is that the user will then just switch to another browser in order to get their work done.
First visit | Subsequent use | |
---|---|---|
360 Safe Browser (27% market share) | Warning. One click to continue. | No warnings. Green check suggesting that the certificate is valid. |
IE6 (22%) | Warning. One click to continue. | No warnings. |
IE8 (21%) | Not tested. | Not tested. |
IE9 (5%) | Warning. One click to continue. | “Certificate error” warning in location bar. |
Safari (3%) | Warning. One click to continue. | No warnings. Lock suggesting that the certificate is valid. What’s more, even clicking the lock will display a misleading encryption channel message. |
Chrome (2%) | Warning. Impossible to add exception, if you have visited GitHub before with a valid certificate. “You cannot proceed because the website operator has requested heightened security for this domain”. This is because of HSTS. | Impossible if HSTS was enabled. Otherwise possible. |
Firefox (1%) | Same as Chrome. If you have not visited GitHub prior to the attack, possible to create a security exception, but many clicks necessary to continue. | Same as Chrome. |
Comments
Great piece! Just a minor point: When you say that a CNNIC-signed certificate would allow you to "sign in to Gmail as usual and receive no warning" -- that's not really true.
In Chrome, certain high-value targets (e.g. Google properties) have their certificate fingerprints "pinned". This means Chrome enforces both SSL /and/ the correct certificate trust chain.
See, e.g. http://www.imperialviolet.org/2011/05/04/pinning.html
You can view cert-pinned sites in: http://src.chromium.org/viewvc/chrome/trunk/src/net/base/transport_secur...
Don't forget the Phorm now claim to be operating with Chinese ISP's in conjunction with their partner Huawei.
http://www.lse.co.uk/share-regulatory-news.asp?shareprice=PHRM&ArticleCo...
Translation?
N.S.: Thanks! Great tip. I've updated the post to include your info.
Anon: translation is coming.
Will the attack take effect if I have added the correct IP to hosts?
What about using a peer to peer system to validate certificates (e.g. something tied to Namecoin or the Bitcoin block chain)? This could help prevent a man in the middle attack by hijacking a CA such as it is alleged that the FBI/NSA may be doing.
Great Firewall is doing a clumsy SSL MITM again. Ran into it trying to install some bits after getting to china and getting git and curl SSL errors. At this time if I access github without a proxy I'm presented with a self-signed SSL certificate. At the same time if I go through a proxy that is SSH tunneled to a US based proxy server I get the proper certificate and chain. This is as of Aug 11, 2013.
After exploring a handful of the blog posts on your web site,
I honestly appreciate your technique of blogging. I book-marked it to my bookmark
website list and will be checking back soon. Please check out my website as well and
tell me your opinion.
my homepage venta de casas en bogota colombia
Excellent post. I was checking continuously this blog
and I'm impressed! Extremely useful information specifically the last part :) I care for such info much. I was looking for this certain info for a very long time. Thank you and best of luck.
Here is my weblog ... schody strychowe (resun.pl)
Hi there, I discovered your blog by the use of Google whilst looking for a related matter,
your web site got here up, it seems great. I've bookmarked it in my google bookmarks.
Hello there, just became aware of your blog through Google,
and located that it's really informative. I'm gonna watch out for brussels.
I will be grateful for those who proceed this in future.
Lots of people can be benefited from your writing. Cheers!
Here is my site; gusseisen ofentüren - peraverti.eu
-
CORNEJO YANCCE, GROVER: Manual de Formación y Capacitación de conciliadores.
- Las partes respecto del conflicto que mantienen,
ponen en conocimiento de peritos, personas con conocimiento especializado en determinadas artes,
ciencias, disciplinas, sobre la cual versaran su dictamen.
n de impuestos para las reducciones calificadas de la matr.
Excеllent pieces. Keep posting such kind of information on your blog.
Im really іmpreseѕed by it.
Hello there, You have donе an excelleոt job.
I will definitely ԁigg it and in my vіeԝ recommend to mү friends.
I'm coոfident tҺey will be benеfited fro
this web site.
Stop by my web-site :: austin seo
Every weekend i used to pay a visit this site, as i want enjoyment, for the reason that
this this site conations truly fastidious funny stuff too.
cula y cuotas, libros, suministros y equipos, generalmente la
beca no constituir. Si usted tiene ingresos afectos al impuesto a la renta,
que sea por becas o por otras fuentes de ingresos y tiene gastos de educaci.
Gastos de Marketing y Otros: Los gastos de marketing
y otros que se toman en cuenta para determinar el precio incluyen los costos que corresponden a sus esfuerzos en el marketing internacional.
The laptop comes standard having an Intel Core i3 processor
and 4GB of RAM. So perhaps it's hardly surprising that particular in
four laptops go wrong within 36 months.
The topics given towards the children are very simple and are
mostly in connection with their day to day life.
This is one in the commandments for web usability and is true of travel writing services as well.
source asus x200ca pink
When you begin writing longer articles you often lose
their attention. Start getting paid to publish articles
today to make some extra money.
There is nothing wrong with offering coupons or discounts
to attract new customers and entice existing ones to spend more money with
your small business. Gil was a member of the Jury for
the Hans Christian Andersen Award for 2008 and 2010.
You'll get multiple selections of companies providing
finance to get a automobile.
After I originally commented I seem to have clicked the -Notify me when new comments are added- checkbox and from now on every time
a comment is added I recieve four emails with
the exact same comment. There has to be a means you are able to
remove me from that service? Cheers!
my webpage - 24jzw.com (Claudette)
This post presents clear idea in support of the new users
of blogging, that truly how to do running a blog.
Hello, yes this post is genuinely good and I have learned lot
of things from it concerning blogging. thanks.
This is my first time pay a visit at here and i am really impressed to read everthing at single
place.
My partner and I stumbled over here coming from a different website
and thought I might as well check things out. I
like what I see so i am just following you. Look forward to looking at your web page repeatedly.
My blog ... Tahvelarvutid
You need tto also match your preferences in colors on your crops and be sure that they mix in with general layout
of the garden at the same time as iits landscape.
By understanding some of the most common tools used for basic landscaping needs,
you can ensure that you have everything you need to keep your lawn in the best possible shape, bringing delight and distinction to your
grounds, be they large or small. This is probably because Oakville, Ontario
house owners are very well known for having extraordinarily wonderful outdoor
spaces.
my website :: small garden landscape plan - gardenlandscaping.photos,
{
{I have|I've} been {surfing|browsing} online more than {three|3|2|4} hours today,
yet I never found any interesting article like yours. {It's|It is}
pretty worth enough for me. {In my opinion|Personally|In my view}, if all {webmasters|site owners|website
owners|web owners} and bloggers made good content as you
did, the {internet|net|web} will be {much more|a lot more} useful than ever before.|
I {couldn't|could not} {resist|refrain from} commenting.
{Very well|Perfectly|Well|Exceptionally well} written!|
{I will|I'll} {right away|immediately} {take hold of|grab|clutch|grasp|seize|snatch} your
{rss|rss feed} as I {can not|can't} {in finding|find|to find} your {email|e-mail} subscription {link|hyperlink} or {newsletter|e-newsletter}
service. Do {you have|you've} any? {Please|Kindly} {allow|permit|let} me
{realize|recognize|understand|recognise|know} {so that|in order that} I {may just|may|could} subscribe.
Thanks.|
{It is|It's} {appropriate|perfect|the best} time to make some plans for the future and
{it is|it's} time to be happy. {I have|I've} read this
post and if I could I {want to|wish to|desire to} suggest you {few|some} interesting things or {advice|suggestions|tips}.
{Perhaps|Maybe} you {could|can} write next articles referring to this article.
I {want to|wish to|desire to} read {more|even more} things
about it!|
{It is|It's} {appropriate|perfect|the best} time
to make {a few|some} plans for {the future|the longer term|the long run} and
{it is|it's} time to be happy. {I have|I've}
{read|learn} this {post|submit|publish|put up} and if I {may just|may|could}
I {want to|wish to|desire to} {suggest|recommend|counsel} you {few|some} {interesting|fascinating|attention-grabbing} {things|issues} or
{advice|suggestions|tips}. {Perhaps|Maybe} you {could|can} write {next|subsequent} articles {relating to|referring to|regarding} this article.
I {want to|wish to|desire to} {read|learn} {more|even more}
{things|issues} {approximately|about} it!|
{I have|I've} been {surfing|browsing} {online|on-line} {more than|greater than} {three|3} hours {these
days|nowadays|today|lately|as of late}, {yet|but} I
{never|by no means} {found|discovered} any {interesting|fascinating|attention-grabbing}
article like yours. {It's|It is} {lovely|pretty|beautiful} {worth|value|price} {enough|sufficient} for me.
{In my opinion|Personally|In my view}, if all {webmasters|site owners|website
owners|web owners} and bloggers made {just right|good|excellent} {content|content material}
as {you did|you probably did}, the {internet|net|web} {will be|shall be|might be|will probably be|can be|will likely
be} {much more|a lot more} {useful|helpful} than ever before.|
Ahaa, its {nice|pleasant|good|fastidious} {discussion|conversation|dialogue} {regarding|concerning|about|on the topic of} this {article|post|piece of writing|paragraph} {here|at this place} at this {blog|weblog|webpage|website|web site}, I have read all that, so {now|at this time} me
also commenting {here|at this place}.|
I am sure this {article|post|piece of writing|paragraph} has touched all the internet {users|people|viewers|visitors}, its really really {nice|pleasant|good|fastidious} {article|post|piece of writing|paragraph} on building up new {blog|weblog|webpage|website|web site}.|
Wow, this {article|post|piece of writing|paragraph} is {nice|pleasant|good|fastidious}, my {sister|younger sister}
is analyzing {such|these|these kinds of} things, {so|thus|therefore} I am going
to {tell|inform|let know|convey} her.|
{Saved as a favorite|bookmarked!!}, {I really like|I like|I love} {your blog|your
site|your web site|your website}!|
Way cool! Some {very|extremely} valid points! I appreciate you {writing this|penning this} {article|post|write-up} {and the|and
also the|plus the} rest of the {site is|website is} {also very|extremely|very|also really|really} good.|
Hi, {I do believe|I do think} {this is an excellent|this is a great} {blog|website|web site|site}.
I stumbledupon it ;) {I will|I am going to|I'm going to|I
may} {come back|return|revisit} {once again|yet again} {since I|since i have} {bookmarked|book
marked|book-marked|saved as a favorite} it. Money and freedom
{is the best|is the greatest} way to change, may you be rich and continue
to {help|guide} {other people|others}.|
Woah! I'm really {loving|enjoying|digging} the template/theme of this {site|website|blog}.
It's simple, yet effective. A lot of times it's {very hard|very difficult|challenging|tough|difficult|hard} to get
that "perfect balance" between {superb usability|user friendliness|usability} and {visual appearance|visual appeal|appearance}.
I must say {that you've|you have|you've} done a {awesome|amazing|very
good|superb|fantastic|excellent|great} job with this. {In addition|Additionally|Also}, the blog
loads {very|extremely|super} {fast|quick} for me on {Safari|Internet explorer|Chrome|Opera|Firefox}.
{Superb|Exceptional|Outstanding|Excellent} Blog!|
These are {really|actually|in fact|truly|genuinely} {great|enormous|impressive|wonderful|fantastic} ideas in {regarding|concerning|about|on the
topic of} blogging. You have touched some {nice|pleasant|good|fastidious} {points|factors|things} here.
Any way keep up wrinting.|
{I love|I really like|I enjoy|I like|Everyone loves} what you guys {are|are usually|tend to be} up too.
{This sort of|This type of|Such|This kind
of} clever work and {exposure|coverage|reporting}! Keep up the
{superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys
I've {incorporated||added|included} you guys to {|my|our||my
personal|my own} blogroll.|
{Howdy|Hi there|Hey there|Hi|Hello|Hey}! Someone in my {Myspace|Facebook} group shared
this {site|website} with us so I came to {give it a look|look it over|take a look|check it out}.
I'm definitely {enjoying|loving} the information.
I'm {book-marking|bookmarking} and will be tweeting this to my followers!
{Terrific|Wonderful|Great|Fantastic|Outstanding|Exceptional|Superb|Excellent} blog and {wonderful|terrific|brilliant|amazing|great|excellent|fantastic|outstanding|superb} {style and design|design and style|design}.|
{I love|I really like|I enjoy|I like|Everyone loves} what you guys {are|are usually|tend to
be} up too. {This sort of|This type of|Such|This kind of} clever
work and {exposure|coverage|reporting}! Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I've {incorporated|added|included}
you guys to {|my|our|my personal|my own} blogroll.|
{Howdy|Hi there|Hey there|Hi|Hello|Hey} would you mind {stating|sharing} which blog platform you're
{working with|using}? I'm {looking|planning|going} to start my own blog {in the near future|soon} but I'm having a {tough|difficult|hard}
time {making a decision|selecting|choosing|deciding} between BlogEngine/Wordpress/B2evolution and Drupal.
The reason I ask is because your {design and style|design|layout} seems different then most blogs and I'm looking for something
{completely unique|unique}. P.S {My apologies|Apologies|Sorry}
for {getting|being} off-topic but I had to ask!|
{Howdy|Hi there|Hi|Hey there|Hello|Hey} would
you mind letting me know which {webhost|hosting company|web
host} you're {utilizing|working with|using}? I've loaded your blog in 3 {completely different|different}
{internet browsers|web browsers|browsers} and I must say this blog loads a lot {quicker|faster} then most.
Can you {suggest|recommend} a good {internet hosting|web hosting|hosting} provider at a {honest|reasonable|fair} price?
{Thanks a lot|Kudos|Cheers|Thank you|Many thanks|Thanks},
I appreciate it!|
{I love|I really like|I like|Everyone loves} it {when people|when individuals|when folks|whenever people} {come together|get together} and share {opinions|thoughts|views|ideas}.
Great {blog|website|site}, {keep it up|continue the good work|stick with it}!|
Thank you for the {auspicious|good} writeup. It in fact was a amusement account it.
Look advanced to {far|more} added agreeable from you!
{By the way|However}, how {can|could} we communicate?|
{Howdy|Hi there|Hey there|Hello|Hey} just wanted to give you
a quick heads up. The {text|words} in your {content|post|article} seem to be
running off the screen in {Ie|Internet explorer|Chrome|Firefox|Safari|Opera}.
I'm not sure if this is a {format|formatting} issue or
something to do with {web browser|internet browser|browser} compatibility
but I {thought|figured} I'd post to let you know. The {style and design|design and style|layout|design} look great though!
Hope you get the {problem|issue} {solved|resolved|fixed} soon.
{Kudos|Cheers|Many thanks|Thanks}|
This is a topic {that is|that's|which is} {close to|near to} my heart...
{Cheers|Many thanks|Best wishes|Take care|Thank you}!
{Where|Exactly where} are your contact details though?|
It's very {easy|simple|trouble-free|straightforward|effortless}
to find out any {topic|matter} on {net|web} as compared to {books|textbooks},
as I found this {article|post|piece of writing|paragraph} at this {website|web site|site|web page}.|
Does your {site|website|blog} have a contact page?
I'm having {a tough time|problems|trouble} locating it but, I'd like to {send|shoot} you an {e-mail|email}.
I've got some {creative ideas|recommendations|suggestions|ideas}
for your blog you might be interested in hearing. Either way, great {site|website|blog} and I look forward to seeing it {develop|improve|expand|grow} over time.|
{Hola|Hey there|Hi|Hello|Greetings}! I've been {following|reading} your {site|web site|website|weblog|blog} for {a long time|a while|some time} now and finally got the {bravery|courage} to
go ahead and give you a shout out from {New Caney|Kingwood|Huffman|Porter|Houston|Dallas|Austin|Lubbock|Humble|Atascocita} {Tx|Texas}!
Just wanted to {tell you|mention|say} keep up the {fantastic|excellent|great|good} {job|work}!|
Greetings from {Idaho|Carolina|Ohio|Colorado|Florida|Los angeles|California}!
I'm {bored to tears|bored to death|bored} at work so I decided to {check out|browse} your {site|website|blog}
on my iphone during lunch break. I {enjoy|really like|love} the {knowledge|info|information} you {present|provide} here and can't wait to take a look
when I get home. I'm {shocked|amazed|surprised} at how {quick|fast}
your blog loaded on my {mobile|cell phone|phone} ..
I'm not even using WIFI, just 3G .. {Anyhow|Anyways}, {awesome|amazing|very
good|superb|good|wonderful|fantastic|excellent|great} {site|blog}!|
Its {like you|such as you} {read|learn} my {mind|thoughts}!
You {seem|appear} {to understand|to know|to grasp} {so much|a lot}
{approximately|about} this, {like you|such as you} wrote the {book|e-book|guide|ebook|e book} in it or something.
{I think|I feel|I believe} {that you|that you simply|that you just} {could|can} do with {some|a few} {%|p.c.|percent} to {force|pressure|drive|power} the message {house|home}
{a bit|a little bit}, {however|but} {other than|instead
of} that, {this is|that is} {great|wonderful|fantastic|magnificent|excellent} blog.
{A great|An excellent|A fantastic} read.
{I'll|I will} {definitely|certainly} be back.|
I visited {multiple|many|several|various} {websites|sites|web sites|web pages|blogs} {but|except|however} the audio
{quality|feature} for audio songs {current|present|existing} at this {website|web site|site|web
page} is {really|actually|in fact|truly|genuinely} {marvelous|wonderful|excellent|fabulous|superb}.|
{Howdy|Hi there|Hi|Hello}, i read your blog {occasionally|from time to time} and
i own a similar one and i was just {wondering|curious} if you get a lot of spam {comments|responses|feedback|remarks}?
If so how do you {prevent|reduce|stop|protect against} it, any plugin or anything you can {advise|suggest|recommend}?
I get so much lately it's driving me {mad|insane|crazy} so any
{assistance|help|support} is very much appreciated.|
Greetings! {Very helpful|Very useful} advice {within this|in this particular} {article|post}!
{It is the|It's the} little changes {that make|which will make|that produce|that will make} {the biggest|the largest|the
greatest|the most important|the most significant} changes.
{Thanks a lot|Thanks|Many thanks} for sharing!|
{I really|I truly|I seriously|I absolutely} love {your blog|your site|your website}..
{Very nice|Excellent|Pleasant|Great} colors & theme.
Did you {create|develop|make|build} {this website|this site|this web site|this amazing site} yourself?
Please reply back as I'm {looking to|trying to|planning to|wanting to|hoping to|attempting to} create {my own|my very own|my own personal} {blog|website|site} and {would like
to|want to|would love to} {know|learn|find out} where you got this from or {what the|exactly what the|just what the} theme {is called|is named}.
{Thanks|Many thanks|Thank you|Cheers|Appreciate it|Kudos}!|
{Hi there|Hello there|Howdy}! This {post|article|blog
post} {couldn't|could not} be written {any better|much better}!
{Reading through|Looking at|Going through|Looking
through} this {post|article} reminds me of my previous roommate!
He {always|constantly|continually} kept {talking about|preaching about} this.
{I will|I'll|I am going to|I most certainly will} {forward|send}
{this article|this information|this post} to him.
{Pretty sure|Fairly certain} {he will|he'll|he's going to} {have
a good|have a very good|have a great} read. {Thank you for|Thanks for|Many thanks for|I appreciate you for} sharing!|
{Wow|Whoa|Incredible|Amazing}! This blog looks {exactly|just}
like my old one! It's on a {completely|entirely|totally} different {topic|subject} but it has pretty much the
same {layout|page layout} and design. {Excellent|Wonderful|Great|Outstanding|Superb} choice of colors!|
{There is|There's} {definately|certainly} {a lot to|a great deal to} {know about|learn about|find out about} this {subject|topic|issue}.
{I like|I love|I really like} {all the|all of the} points {you made|you've
made|you have made}.|
{You made|You've made|You have made} some {decent|good|really good} points there.
I {looked|checked} {on the internet|on the web|on the net}
{for more info|for more information|to find out more|to learn more|for additional information} about the
issue and found {most individuals|most people} will go along with your views on {this website|this site|this web
site}.|
{Hi|Hello|Hi there|What's up}, I {log on to|check|read} your {new stuff|blogs|blog} {regularly|like every
week|daily|on a regular basis}. Your {story-telling|writing|humoristic}
style is {awesome|witty}, keep {doing what you're doing|up the good work|it up}!|
I {simply|just} {could not|couldn't} {leave|depart|go away} your {site|web site|website} {prior to|before} suggesting that I {really|extremely|actually} {enjoyed|loved}
{the standard|the usual} {information|info} {a person|an individual} {supply|provide} {for your|on your|in your|to your} {visitors|guests}?
Is {going to|gonna} be {back|again} {frequently|regularly|incessantly|steadily|ceaselessly|often|continuously}
{in order to|to} {check up on|check out|inspect|investigate cross-check} new posts|
{I wanted|I needed|I want to|I need to} to thank you for this {great|excellent|fantastic|wonderful|good|very good} read!!
I {definitely|certainly|absolutely} {enjoyed|loved} every {little bit of|bit of} it.
{I have|I've got|I have got} you {bookmarked|book marked|book-marked|saved as a favorite} {to check out|to look at} new {stuff you|things you} post…|
{Hi|Hello|Hi there|What's up}, just wanted to {mention|say|tell you}, I {enjoyed|liked|loved} this
{article|post|blog post}. It was {inspiring|funny|practical|helpful}.
Keep on posting!|
{Hi there|Hello}, I enjoy reading {all of|through} your {article|post|article post}.
I {like|wanted} to write a little comment to support you.|
I {always|constantly|every time} spent my half an hour to read this {blog|weblog|webpage|website|web site}'s {articles|posts|articles or reviews|content}
{everyday|daily|every day|all the time} along with a {cup|mug}
of coffee.|
I {always|for all time|all the time|constantly|every time} emailed
this {blog|weblog|webpage|website|web site} post page to all my {friends|associates|contacts},
{because|since|as|for the reason that} if like
to read it {then|after that|next|afterward} my {friends|links|contacts} will too.|
My {coder|programmer|developer} is trying to {persuade|convince} me to move to
.net from PHP. I have always disliked the idea because of
the {expenses|costs}. But he's tryiong none the less.
I've been using {Movable-type|WordPress} on {a number of|a variety of|numerous|several|various} websites for about a year and am {nervous|anxious|worried|concerned}
about switching to another platform. I have heard {fantastic|very good|excellent|great|good} things
about blogengine.net. Is there a way I can {transfer|import} all my wordpress {content|posts} into it?
{Any kind of|Any} help would be {really|greatly} appreciated!|
{Hello|Hi|Hello there|Hi there|Howdy|Good day}! I could
have sworn I've {been to|visited} {this blog|this web site|this website|this site|your blog} before but after {browsing through|going through|looking
at} {some of the|a few of the|many of the} {posts|articles} I realized it's new to
me. {Anyways|Anyhow|Nonetheless|Regardless}, I'm {definitely|certainly} {happy|pleased|delighted} {I
found|I discovered|I came across|I stumbled upon} it and I'll be {bookmarking|book-marking} it and checking
back {frequently|regularly|often}!|
{Terrific|Great|Wonderful} {article|work}! {This is|That is} {the
type of|the kind of} {information|info} {that are meant to|that are supposed
to|that should} be shared {around the|across the} {web|internet|net}.
{Disgrace|Shame} on {the {seek|search} engines|Google}
for {now not|not|no longer} positioning this {post|submit|publish|put up} {upper|higher}!
Come on over and {talk over with|discuss with|seek advice from|visit|consult with} my {site|web site|website} .
{Thank you|Thanks} =)|
Heya {i'm|i am} for the first time here. I {came across|found} this board and I find
It {truly|really} useful & it helped me out {a lot|much}. I hope to give something back
and {help|aid} others like you {helped|aided} me.|
{Hi|Hello|Hi there|Hello there|Howdy|Greetings}, {I think|I believe|I do believe|I do
think|There's no doubt that} {your site|your website|your web site|your blog} {might be|may be|could be|could possibly be} having {browser|internet browser|web browser}
compatibility {issues|problems}. {When I|Whenever I}
{look at your|take a look at your} {website|web site|site|blog} in Safari,
it looks fine {but when|however when|however, if|however, when} opening in {Internet Explorer|IE|I.E.}, {it has|it's got}
some overlapping issues. {I just|I simply|I merely} wanted to
{give you a|provide you with a} quick heads up!
{Other than that|Apart from that|Besides that|Aside from that}, {fantastic|wonderful|great|excellent} {blog|website|site}!|
{A person|Someone|Somebody} {necessarily|essentially} {lend a hand|help|assist}
to make {seriously|critically|significantly|severely} {articles|posts} {I
would|I might|I'd} state. {This is|That is} the {first|very first} time I
frequented your {web page|website page} and {to
this point|so far|thus far|up to now}? I {amazed|surprised} with
the {research|analysis} you made to {create|make} {this actual|this
particular} {post|submit|publish|put up} {incredible|amazing|extraordinary}.
{Great|Wonderful|Fantastic|Magnificent|Excellent} {task|process|activity|job}!|
Heya {i'm|i am} for {the primary|the first} time here. I {came across|found}
this board and I {in finding|find|to find} It {truly|really}
{useful|helpful} & it helped me out {a lot|much}. {I am hoping|I hope|I'm hoping} {to give|to
offer|to provide|to present} {something|one thing} {back|again} and {help|aid}
others {like you|such as you} {helped|aided} me.|
{Hello|Hi|Hello there|Hi there|Howdy|Good day|Hey
there}! {I just|I simply} {would like to|want to|wish to}
{give you a|offer you a} {huge|big} thumbs up {for the|for your} {great|excellent} {info|information} {you have|you've got|you have
got} {here|right here} on this post. {I will be|I'll be|I am} {coming back to|returning to} {your blog|your site|your website|your
web site} for more soon.|
I {always|all the time|every time} used to {read|study} {article|post|piece of writing|paragraph} in news papers but now as I am a user of {internet|web|net}
{so|thus|therefore} from now I am using net for {articles|posts|articles or reviews|content}, thanks to web.|
Your {way|method|means|mode} of {describing|explaining|telling} {everything|all|the whole thing} in this {article|post|piece of writing|paragraph} is {really|actually|in fact|truly|genuinely}
{nice|pleasant|good|fastidious}, {all|every one} {can|be able to|be capable of} {easily|without difficulty|effortlessly|simply} {understand|know|be aware of} it, Thanks a lot.|
{Hi|Hello} there, {I found|I discovered} your {blog|website|web site|site} {by means of|via|by
the use of|by way of} Google {at the same time as|whilst|even as|while} {searching for|looking for} a {similar|comparable|related} {topic|matter|subject}, your {site|web site|website} {got here|came} up, it {looks|appears|seems|seems to be|appears
to be like} {good|great}. {I have|I've} bookmarked it in my google bookmarks.
{Hello|Hi} there, {simply|just} {turned into|became|was|become|changed
into} {aware of|alert to} your {blog|weblog} {thru|through|via} Google, {and found|and located} that {it
is|it's} {really|truly} informative. {I'm|I am} {gonna|going to} {watch out|be careful} for brussels.
{I will|I'll} {appreciate|be grateful} {if you|should you|when you|in the event you|in case you|for those who|if
you happen to} {continue|proceed} this {in future}.
{A lot of|Lots of|Many|Numerous} {other folks|folks|other people|people} {will
be|shall be|might be|will probably be|can be|will likely be} benefited {from your|out of your} writing.
Cheers!|
{I am|I'm} curious to find out what blog {system|platform} {you have been|you happen to be|you are|you're} {working with|utilizing|using}?
I'm {experiencing|having} some {minor|small} security {problems|issues} with my latest {site|website|blog} and {I would|I'd} like to
find something more {safe|risk-free|safeguarded|secure}.
Do you have any {solutions|suggestions|recommendations}?|
{I am|I'm} {extremely|really} impressed with your writing skills {and also|as well as} with the layout on your {blog|weblog}.
Is this a paid theme or did you {customize|modify} it yourself?
{Either way|Anyway} keep up the {nice|excellent}
quality writing, {it's|it is} rare to see a {nice|great} blog
like this one {these days|nowadays|today}.|
{I am|I'm} {extremely|really} {inspired|impressed} {with your|together
with your|along with your} writing {talents|skills|abilities}
{and also|as {smartly|well|neatly} as} with the {layout|format|structure} {for your|on your|in your|to your} {blog|weblog}.
{Is this|Is that this} a paid {subject|topic|subject matter|theme} or
did you {customize|modify} it {yourself|your
self}? {Either way|Anyway} {stay|keep} up the {nice|excellent} {quality|high quality} writing, {it's|it is} {rare|uncommon} {to peer|to see|to look} a {nice|great} {blog|weblog} like this one
{these days|nowadays|today}..|
{Hi|Hello}, Neat post. {There is|There's} {a problem|an issue} {with your|together with your|along with your} {site|web site|website}
in {internet|web} explorer, {may|might|could|would} {check|test} this?
IE {still|nonetheless} is the {marketplace|market} {leader|chief} and {a large|a good|a big|a
huge} {part of|section of|component to|portion of|component of|element of} {other folks|folks|other people|people} will
{leave out|omit|miss|pass over} your {great|wonderful|fantastic|magnificent|excellent} writing {due to|because of} this problem.|
{I'm|I am} not sure where {you are|you're} getting your {info|information}, but {good|great} topic.
I needs to spend some time learning {more|much more} or understanding more.
Thanks for {great|wonderful|fantastic|magnificent|excellent} {information|info} I was
looking for this {information|info} for my mission.|
{Hi|Hello}, i think that i saw you visited my {blog|weblog|website|web site|site} {so|thus} i came to “return the favor”.{I am|I'm} {trying to|attempting to} find things to {improve|enhance}
my {website|site|web site}!I suppose its ok to use {some of|a few of} \
Here is my blog post :: nike blazer pas cher
Instead of exploring an island to eliminate an alien threat, you will travel between Heaven and Earth to defeat various enemies while you are wearing your high tech suit of armor.
But like the saying – Form is Temporay but class is permanent – a
fit and rejuvenated Tendulkar once gain proved his detractors wrong.
"Teams are mismatched, bat and ball are not loved equally, and the quarter-finals are looked forward to like school vacations once were.
Also visit my blog post ... Cricket World Cup Live Streaming
To know more about locksmiths from a specific locality, an online search
can prove to be most helpful. Wireless - While homeowners with new homes
usually have a hard-wired system into position, those with older homes are
choosing wireless options. This technology has come of age and is now recognised as reliable enough for everyday use.
Stop by my blog: home security systems houston cameras
When we engage in defeatist thoughts, speech and actions
we are letting our internal negativity (or innate darkness) take over.
check out the website this will let you very little call in interview.
We've been speaking to them about how they operate and what inspires their
business.
Here is my website :: Happy Diwali Wishes 2014
At leaset once a month, this video game column will feature at least one
free gme or video game console. Minimize the window and create a fokder called Backup on your desktop.
These basic needs are:Crime Safetyy - This is how safe yopur citizens
feel.
Also visit my web page - sims 4 download
It was a pleasure reading this piece of producing. I really
conaider their need to be a private touch too thhe matter backed up by expertise.
I also get pleasure from writing weblogs a whole
lot and have started out my own not way too log in the past.
As an insurance policies broker, it is a excellent way to link with new clients!
Effectively Thanks a whole lot for publishing this info up.
Also visit my weblog Toronto Business Insurance
They understand it quite well that educational success is quite a decisive factor to check the employee's motivation and skills.
With the aid of the internet you can easily come to know how to get the background check quite efficiently.
Arrest records are issued by different bodies of the government to individuals who have committed offenses or violations to the laws of the state of nation.
my web site Background Checks
Disabhling username and password hlps in improving start up time.
By default, most Internet browsers are set to mske only onne connection with a server at a
time. There is other soffware using to download things online.
my web siote ... idm
I do not even know how I ended up here, but I thought this post was
good. I do not know who you are but definitely you are
going to a famous blogger if you aren't already ;) Cheers!
my blog post best beard trimmer 2014 (dw-webdesign.net)
Howdy would you mind letting me know which webhost you're utilizing?
I've loaded your blog in 3 different internet browsers and I must say this blog loads a lot quicker then most.
Can you recommend a good web hosting provider at
a fair price? Kudos, I appreciate it!
my website - best gps 2014 (Minnie)
This is my first time pay a quick visit at here and i am really impressed to read all at single place.
Here is my website - jual hijab
Hi! I simply would like to give you a huge thumbs up for your
great info you've got right here on this post. I will be returning to your blog for more soon.
Here is my site bigg boss (Harris)
Hi there just wanted to give you a quick heads up.
The words in your article seem to be running off the screen in Internet explorer.
I'm not sure if this is a formatting issue or something to do with browser compatibility but I thought I'd post to let you know.
The style and design look great though! Hope you get the problem solved soon. Thanks
My webpage; Sewa Mobil Jakarta
Obviously there will be filters on school and work networks.
"On the one hand, invited South Korean doctor may only Ersan Liu at the local level, their technical work; the other hand, Korean Medical fees were too high, scaring off the part of consumers.
They give us reason to love others and be loved by others,
as you will be oblivious to the beauty around you without them.
[url=http://www.acoceanterrace.com/] acoceanterrace.com[/url]
TOWN AND COUNTRY To Ellis Chalfant, the copious amount of saves were just bruises that will fade. To MICDS, her play between the pipes meant an 11 7 win over John Burroughs and a second successive state title that will last forever.The junior goalie stonewalled a potent John Burroughs offense that has made a mess of opposing defenses all season long. She also helped to secure an undefeated season.Chalfant stood on the threshold of the title and slammed the door shut on the Bombers. John Burroughs' top guns, Steph Kelly and Barrett Carlson, had just three goals combined. Kelly finished with two and Carlson had one.The Bombers peppered Chalfant and the MICDS back line, but could not get the ball through."I've played with Steph and Barrett before and I thought I knew where they were going to shoot, but they've really stepped up their game this year," Chalfant said.While Chalfant and the strong MICDS defense held its own, senior midfielder Gabby Putnam went to work on the offense. The Rams' defense gave John Burroughs just a handful of decent shooting lanes."We got that one more that we've been talking about," MICDS coach Traci Nelson said. "We came together as one today, as a defensive unit, and an offensive unit and shut them down. It was great."Putnam, the Rams' third leading scorer, tallied five goals in the first 24 minutes to lead MICDS to a 5 3 lead at the break.In the second half, the Rams rattled off six goals in 20 minutes to hold off a late push from the Bombers.Burroughs tried deceptive angles and anything else but its attack only yielded four goals in the second half. Three of those goals came in the last three minutes."We talked about the fact that we played until the very last second," John Burroughs coach MeghanDiGiulio said."We had a flurry of goals there at the end. I think that's kind of what we've done all season, we've come up against a lot of adversity and we've never given up."The second place finish for John Burroughs was a step in the right direction and one spot ahead of last year's third place finish.URSULINE 10, EUREKA 7 Ursuline clinched a third place finish with the win over Eureka. The Bears held an 8 2 lead at the half and held off a five goal second half by Eureka.Ursuline used second half goals from seniors Anna Herber and Dren Kihn to stretch the lead to 10 2. Despite an Ursuline defense that frustrated the Eureka attackers, the Wildcats found the net three times in the last five minutes.
[url=http://www.airspaceusa.com/] www.airspaceusa.com[/url]
South Bass Island State Park, Ottawa County on South Bass Island, southwest of Pelee Island and northeast of Catawba Island Ferries are available from Port Clinton or Marblehead. 125 non electric sites, 10 full service sites, flush toilets, showers, pet camping, four cabents, two picnic shelters, picnic areas, launch ramp, fishing pier and small stone beach.
inspired a lot from this post am following this blog regularly and found very good for bookmarking thanks admin
new year sms in hindi 2015
happy new year sms 2015
happy new year 2015 wallpapers
happy new year 2015 quotes
happy new year 2015
happy new year wishes 2015
perfect time to make some plans for the future and it is
Hi there, I read your blogs daily. Your writing style
is witty, keep doing what you're doing!
Feel free to surf to my page Game Mobile App
Heya i am for the first time here. I found this board and I to find It really useful & it helped me out a lot.
I am hoping to offer something again and aid others such as you helped me.
my web blog - Best Mobile Game (http://topgamemobile.biz/)
Salut à tous voici une application que je viens de dénicher sur le web
2.0,
Snaplooker est un Logiciel disponible sur Apple, Android et sur PC qui
vous permet de récupérer les photos de vos amies sur Snapchat par l’intermédiaire de l’interface d’administration de Snaplooker.
Vous n’avez donc pas besoin de downloader aucun programme juste de vous inscrire sur leur site -> http://www.snaplooker.com .
Sinon il y a un tutorial complet sur le site : http://idees-du-net.com/snaplooker-art/
Esta next-gen de consolas posee videogames tan magnificos como este a sacos
Hecha un vistazo y puedes navega por mi web blog... timadores
this post is awesome, great msg for us, plz update ur blog for daily basis, i am regular visitor of this site, so keep posting for us,
click the below links to create backlink
best free backlink website click here for msg movie
I am truly thankful to the owner of this web page who has shared this
impressive article at at this place.
Stop by my web page :: agen bola terpercaya
First off I want to say awesome blog! I had a quick question in which I'd like to ask if you do not mind.
I was interested to find out how you center yourself and clear your head prior to
writing. I've had a tough time clearing my thoughts
in getting my thoughts out there. I truly do take pleasure in writing but it just seems like
the first 10 to 15 minutes tend to be wasted simply just trying to figure out how
to begin. Any recommendations or tips? Cheers!
Here is my weblog; pornvidioxo
What's up Dear, are you truly visiting this web page on a regular basis,
if so after that you will absolutely obtain pleasant knowledge.
Stop by my page ... counterstrike global offensive hack
A 60% chаnce οf rain should lessen as the afternoon grows longer but
the chance of another shortened match remains. Ιn times like this it iѕ
live cricket scoгe that helps fans in knowing about all that
is happening in the field. Starting on Febrսary 19, the match will go on till Early April of 2011.
Here is my site ipl 2015 live streaming
thanks for this post, keep it up for updating us, i am waiting for ur new article.
IPL 2015 Cricket live score
mps computers
Harjinder Singh
thanks again
Pages
Add new comment